SourceXtractorPlusPlus 1.0.3
SourceXtractor++, the next generation SExtractor
Loading...
Searching...
No Matches
CoreThresholdPartitionTask.h
Go to the documentation of this file.
1
23
24#ifndef _SEIMPLEMENTATION_PLUGIN_CORETHRESHOLDTASK_H_
25#define _SEIMPLEMENTATION_PLUGIN_CORETHRESHOLDTASK_H_
26
27#include "NCorePixel.h"
29
33
35
36namespace SourceXtractor {
37
39
40public:
41 explicit CoreThresholdPartitionTask(double snr_level): m_snr_level(snr_level) {};
42
43 virtual ~CoreThresholdPartitionTask() = default;
44
45 virtual void computeProperties(SourceInterface& source) const {
46 long int n_snr_level=0;
47
48 // get the detection frame and the SNR image
49 const auto& detection_frame_images = source.getProperty<DetectionFrameImages>();
50 const auto& snr_image = detection_frame_images.getLockedImage(LayerSignalToNoiseMap);
51
52 // go over all pixels
53 for (auto pixel_coord : source.getProperty<PixelCoordinateList>().getCoordinateList()) {
54 // enhance the counter if the SNR is above the level
55 if (snr_image->getValue(pixel_coord.m_x, pixel_coord.m_y) >= m_snr_level)
56 n_snr_level += 1;
57 }
58
59 // set the property
60 source.setProperty<NCorePixel>(n_snr_level);
61};
62
63private:
65
66}; // End of CoreThresholdTask class
67} // namespace SExtractor
68
69#endif /* _SEIMPLEMENTATION_PLUGIN_SNRLEVELSOURCETASK_H_ */
70
71
72
virtual void computeProperties(SourceInterface &source) const
Computes one or more properties for the Source.
std::shared_ptr< ImageAccessor< SeFloat > > getLockedImage(FrameImageLayer layer) const
const std::vector< PixelCoordinate > & getCoordinateList() const
The SourceInterface is an abstract "source" that has properties attached to it.
const PropertyType & getProperty(unsigned int index=0) const
Convenience template method to call getProperty() with a more user-friendly syntax.
A Task that acts on a Source to compute one or more properties.
Definition SourceTask.h:36
@ LayerSignalToNoiseMap
Definition Frame.h:42