Added constructors and destructors for RgbdPlane
* declared constructors and destructors of RgbdPlane
* definitions written
* tests for python bindings added
DynamicFusion Implementation
* Add new nodes from points
* Addition of new node in the field
* Warp nodes demo
* Add newline before {
* Remove 3rd party flann dependency
* Regularisation Heirarchy
* Correct node radius
* Change default growth rate
* New node position = centroid of the neighbourhood
* Enlarge nodes while paused
* Dynafu TSDF
* TSDF demo
* Avoid double calc and adjust initial tsdf weight
* Fix bug that caused some voxels to disappear
* getNodePos helper
* Remove USE_INTRINSIC check
* Correct RT avg calculation and remove redundant knn calc
* Slight perf improvements
* Use LinearIndex
* Debug calculations
* set all nodes' RT
* Various bug fixes
* Separate camera and warpfield
* Add dynafu documentation
* Adhere to coding style
* Add dynafu unit test
* update demo
* Merge pull request #2133 from savuor:kinfu_truncate
KinectFusion: several updates (#2133)
* truncateThreshold added
* demo updated for RealSense
* first Kinect2, then RealSense
* more distance-based parameters
* Remove trailing whitespaces
* Replace bool vector with array
* create findNeighbours in WarpField
* Maintain nodesPos matrix in WarpField
* Fix warnings on Windows build
* Remove cameraPose from WarpField
* Use AutoBuffer
* Marching Cubes
* Fix MC
* Split mesh vertices & edges
* Change Mat types in MC
* OpenGL rendering
* Check for HAVE_OPENGL
* Error handling in case HAVE_OPENGL is not defined
* Replace Mat_ with std::vector inside marchCubes
* Parallelise marching cubes
* Fix warpfield and estimate depth inside DynaFuImpl::updateT()
* Linearise depth and use points/normals from MC
* Don't test dynafu without OpenGL support
* Analytical calculation of Jacobian matrices
* Add details about rotation and differentiate graph terms in J_r
* Use derivative of T^-1 from the tutorial
* Remove L2 norm from reg term
* Use chain rule to differentiate data term
* Markdown
* Fix markdown
* Replace MD file by HTML
* Change the data term expression
* Calculate J_d using vector identities
* Rasterize vertex and normals
* Apply warpfield before rendering
* Add CV_UNUSED for normImage to fix warning
* Render float image instead of uint8
* Implement ICP data term and other changes:
1. add option to applyWarp to normals
2. add option to `fetchPointNormals` to return points in voxel coordinates
3. Fix: Use voxel coordinates to update WarpField
* Fix non-OpenGL build
* Intialise newly discovered node transforms with DQB
* Fix data term
* Change data term normal and add kinfu-like distance/angle checks
* Implement regularisation
* Fix warnings
* Credit authors of DQB and table for MC
* cast size_t to int to supress warning
* Correct regularisation and add normal equation set up
* Delete html
* Dynafu unit test
* empty kinfu module created
* KinFu: skeleton is done
* some intermediate state fixed
* fixed normal calculation
* bilinear depth interp: fixing missing data
* TSDF integration optimized
* TSDF: adding constness
* utils: isNaN; Intr::Projector const reference fixed
* TSDF raycast: quality improvements
* TSDF fetchCloud is done
* render() added
* ICP implemented
* debug code moved to demo.cpp
* less TODOs
* partial refactoring
* TSDF: fetchPoints() and fetchNormals() rewritten in parallel manner
* platform choose added
* reordered
* data types isolated off the platform
* minor fixes
* ScopeTime added
* fixed iterations gathering
* volume::integrate() parallelized but works slow (big overhead for
* raycast is done in parallel
* got rid of kftype and p3type
* fetchNormals() fixed
* less code duplication
* nan check reduced, interpolate() refactored to fetchVoxel()
* ICP: optimizations
* TSDF: bilinear specialized
* TSDF: voxelSizeInv pushed away
* TSDF: interpolation optimized
* TSDF::integrate: parallel_for now works fast
* Frame::render: pow -> float ipow<int p>(x)
* ICP::getAb: parallel_for
* ICP::getAb: time print disabled
* ICP::getAb::bilinear: 2 calls joined
* refactored, extra functions removed
* optimized to use only 27 elems
* ICP::getAb: better optimized
* Points and Normals data type expanded to 4 channels
* ICP optimized (doesn't work)
* ICP::getAb is on intrinsics and it works
* NaN check is faster
* ICP::getAB: minors
* added non-SIMD code as fallback
* TSDF::fetchVoxel and interpolation: got rid of coord check
* TSDF::fetchVoxel: refactor
* TSDF::raycast: local copies of members
* TSDF::interpolate: refactored for simplier vectorization
* TSDF::getNormal: refactored for simplier vectorization
* minor
* include "intrin.hpp" moved to precomp.hpp
* TSDF::coords shifts moved to class body
* TSDF::getNormal vectorized
* TSDF::getNormal: little improvements
* TSDF::interpolate: little improvements
* TSDF::raycast vectorized
* more to precomp.hpp
* TSDF: minor optimizations
* TSDF::raycast cycles optimized
* TSDF::fetchPointsNormals instead of separate p and n
* TSDF::bilinearInterpolate: little speedup
* TSDF::interpolate: speed up
* TSDF::interpolate: more compact code
* TSDF::getNormal and raycast main cycle made faster
* ICP: few improvements
* Frame: a lot of parts parallelized
* TSDF::fetchPointsNormals minor improvements
* TSDF::integrate and bilinear vectorized
* TSDF::interpolate and getNormal: interpolation vectorized
* ICP: minor changes
* gradientDeltaFactor removed, coarseParams() added
* TSDF::raycast: fixed bug with tmin/tmax
* minors
* baseZ fixed
* ICP: interpolation fixed, non-parallelized code fixed
* TSDF::interpolate: bilinear fixed, less artifacts
* TSDF: minor refactoring
* TSDF: some members moved to parent class
* added tests for KinFu
* KinFu documented
* docs fixed
* warnings fixed
* license added, overrides added
* minors
* ScopeTime moved to separate file
* less memory allocations
* demo improved, java binding disabled
* viz module made optional
* fix to demo
* frameGenerator interface: got rid of refs to cv::Ptr
* demo made interactive
* trying to fix build
* trying to fix warnings
* warning fixed
* demo fixed
* raycast_step_factor tuned
* legal info added
* don't reset if ICP failed
* refactoring: KinFu::operator() => update()
* KinFu::KinFuParams => ::Params
* get/setParams
* fetch => get
* all src moved to cv::kinfu namespace
* struct Intr made internal
* kinfu_module merged into rgbd module
* License preambule updated
* minors
* frame.* renamed to kinfu_frame.*
* warnings fixed
* more warnings fixed
* RGBD normals: a fix against Inf/Nan values
* FastICP: fixed transformation direction
* RGBD Odometry tests: added epsilon for id transform; minors
* RGBD Odometry tests enabled
* modules list fixed