Update LibXISF, fixes in RawImage

This commit is contained in:
2023-08-28 20:37:11 +02:00
parent 9ffbdcee30
commit f1a2aae9b6
7 changed files with 336 additions and 99 deletions
+8 -4
View File
@@ -47,7 +47,6 @@ public:
FLOAT32,
FLOAT64,
};
protected:
struct Stats
{
bool m_stats = false;
@@ -57,7 +56,9 @@ protected:
double m_min[4] = {0.0};
double m_max[4] = {0.0};
double m_mad[4] = {0.0};
uint32_t m_saturated[4] = {0};
};
protected:
std::unique_ptr<PixelType[]> m_pixels;
std::unique_ptr<PixelType[]> m_original;
uint32_t m_width = 0;
@@ -67,7 +68,6 @@ protected:
DataType m_type = UINT8;
DataType m_origType = UINT8;
float m_thumbAspect = 0.0;
uint32_t m_saturated = 0.0;
Stats m_stats;
void allocate(uint32_t w, uint32_t h, uint32_t ch, DataType type);
public:
@@ -76,7 +76,7 @@ public:
RawImage(const RawImage &d);
RawImage(RawImage &&d);
RawImage(const QImage &img);
bool imageStats(double *mean, double *stdDev, double *median, double *min, double *max, double *mad, uint32_t *saturated);
const RawImage::Stats& imageStats();
void calcStats();
void rect(int &x, int &y, int w, int h, std::vector<double> &r) const;
int findPeaks(double background, double distance, std::vector<Peak> &peaks) const;
@@ -90,7 +90,8 @@ public:
const void* data() const;
void* data(uint32_t row, uint32_t col = 0);
const void* data(uint32_t row, uint32_t col = 0) const;
void *origData(uint32_t row, uint32_t col = 0) const;
const void *origData() const;
const void *origData(uint32_t row, uint32_t col = 0) const;
void convertToThumbnail();
void convertToGLFormat();
float thumbAspect() const;
@@ -104,4 +105,7 @@ public:
std::vector<RawImage> split() const;
};
//Q_DECLARE_SMART_POINTER_METATYPE(std::shared_ptr);
//Q_DECLARE_METATYPE(std::shared_ptr<RawImage>);
#endif // RAWIMAGE_H