49 template<
typename dtype>
73 if (xcds_->
shape() != intensities_->shape())
78 shape_ = xcds_->
shape();
85 if (xcds_->operator()(row, col))
109 return static_cast<uint32>(clusters_.size());
135 if (
inIndex >= clusters_.size())
150 return clusters_.cbegin();
161 return clusters_.cend();
168 std::vector<Pixel<dtype>> xcdsVec_{};
172 std::vector<Cluster<dtype>> clusters_{};
189 const dtype intensity = intensities_->operator()(row, col);
280 void runClusterMaker()
340 void expandClusters()
#define THROW_INVALID_ARGUMENT_ERROR(msg)
Definition Error.hpp:37
#define STATIC_ASSERT_ARITHMETIC(dtype)
Definition StaticAsserts.hpp:39
Holds 1D and 2D arrays, the main work horse of the NumCpp library.
Definition NdArrayCore.hpp:139
const Shape & shape() const noexcept
Definition NdArrayCore.hpp:4587
uint32 rows
Definition Core/shape.hpp:44
uint32 cols
Definition Core/shape.hpp:45
Holds the information for a cluster of pixels.
Definition Cluster.hpp:53
Clusters exceedance data into contiguous groups.
Definition ClusterMaker.hpp:51
ClusterMaker(const NdArray< bool > *const inXcdArrayPtr, const NdArray< dtype > *const inIntensityArrayPtr, uint8 inBorderWidth=0)
Definition ClusterMaker.hpp:67
const_iterator begin() const noexcept
Definition ClusterMaker.hpp:148
const_iterator end() const noexcept
Definition ClusterMaker.hpp:159
typename std::vector< Cluster< dtype > >::const_iterator const_iterator
Definition ClusterMaker.hpp:57
const Cluster< dtype > & at(uint32 inIndex) const
Definition ClusterMaker.hpp:133
const Cluster< dtype > & operator[](uint32 inIndex) const noexcept
Definition ClusterMaker.hpp:120
uint32 size() noexcept
Definition ClusterMaker.hpp:107
Holds the information for a single pixel.
Definition Pixel.hpp:46
Definition applyThreshold.hpp:34
NdArray< dtype > arange(dtype inStart, dtype inStop, dtype inStep=1)
Definition arange.hpp:59
std::int32_t int32
Definition Types.hpp:36
std::uint8_t uint8
Definition Types.hpp:42
std::uint32_t uint32
Definition Types.hpp:40