73 void initialSegmentation(
const std::shared_ptr<uvgvpcc_enc::Frame>& frame,std::vector<size_t>& pointsPPIs,
const size_t& frameId);
74 void refineSegmentation(
const std::shared_ptr<uvgvpcc_enc::Frame>& frame,std::vector<size_t>& pointsPPIs,
const size_t& frameId);
79 std::vector<size_t>& filledVoxels, std::vector<std::vector<size_t>>& pointListInVoxels);
81 static void fillNeighborAndAdjacentLists(
83 std::vector<std::vector<size_t>>& ADJ_List, std::vector<std::vector<size_t>>& IDEV_List,
84 std::vector<std::vector<size_t>>& pointListInVoxels, std::vector<double>& voxWeightList,
85 std::vector<VoxelAttribute>& voxAttributeList,
const std::vector<size_t>& pointsPPIs);
87 static void computeExtendedScore(std::vector<size_t>& voxExtendedScore,
const std::vector<size_t>& ADJ_List,
88 const std::vector<VoxelAttribute>& voxAttributeList);
90 static void updateAdjacentVoxelsClass(std::vector<VoxelAttribute>& voxAttributeList,
91 const std::vector<size_t>& voxExtendedScore,
92 const std::vector<size_t>& IDEV_List);
93 static inline bool checkNEV(
const VoxClass voxClass,
const size_t voxPPI,
94 const std::vector<size_t>& voxExtendedScore);
96 inline void refinePointsPPIs(std::vector<size_t>& pointsPPIs,
const std::vector<size_t>& pointsIndices,
97 const double weight,
const std::vector<size_t>& voxExtendedScore)
const;
98 static inline void updateVoxelAttribute(
VoxelAttribute& voxAttribute,
const std::vector<size_t>& voxPoints,
99 const std::vector<size_t>& pointsPPIs);
101 const std::vector<uvgutils::VectorN<double, 3>>& pointsNormals_;
102 const std::vector<uvgutils::VectorN<typeGeometryInput, 3>>& pointsGeometry_;
void initialSegmentation(const std::shared_ptr< uvgvpcc_enc::Frame > &frame, std::vector< size_t > &pointsPPIs, const size_t &frameId)
Definition ppiSegmenter.cpp:85
void refineSegmentation(const std::shared_ptr< uvgvpcc_enc::Frame > &frame, std::vector< size_t > &pointsPPIs, const size_t &frameId)
Definition ppiSegmenter.cpp:370