QXRD  0.11.16
qcepmaskdata.h
Go to the documentation of this file.
1 #ifndef QCEPMASKDATA_H
2 #define QCEPMASKDATA_H
3 
4 #include "qcepimagedata.h"
5 #include "qcepmaskdata-ptr.h"
6 
7 class QcepMaskData : public QcepImageData<short>
8 {
9  Q_OBJECT
10 
11 public:
12  QcepMaskData(QcepSettingsSaverWPtr saver, int width, int height, int def, QcepObject *parent);
13  ~QcepMaskData();
14 
15 public slots:
16  bool maskValue(int x, int y) const;
17  void setMaskValue(int x, int y, bool mval);
18 
20 
21  void setCircularMask();
22  void showMaskAll();
23  void hideMaskAll();
24  void invertMask();
25 
26  void growMask();
27  void shrinkMask();
28 
30  void orMask(QcepMaskDataPtr mask);
31  void xorMask(QcepMaskDataPtr mask);
32  void andNotMask(QcepMaskDataPtr mask);
33  void orNotMask(QcepMaskDataPtr mask);
34  void xorNotMask(QcepMaskDataPtr mask);
35 
36  void maskCircle(double cx, double cy, double r, bool val);
37 
38  int countMaskedPixels() const;
39  int countUnmaskedPixels() const;
40  int countOverflowPixels() const;
41 
42  QString summary();
43 
44  QImage thumbnailImage() const;
45  QSize thumbnailImageSize() const;
46 
47 public:
48  void copyMaskTo(QcepMaskDataPtr dest);
49 
50  short* mask();
51 
52  template <typename T> void setMaskRange(QSharedPointer< QcepImageData<T> > image, T min, T max, bool inRange, bool setTo);
53  template <typename T> void showMaskRange(QSharedPointer< QcepImageData<T> > image, T min, T max);
54  template <typename T> void hideMaskRange(QSharedPointer< QcepImageData<T> > image, T min, T max);
55 
56 private:
57  enum {
60  };
61 };
62 
63 #endif // QCEPMASKDATA_H
void hideMaskAll()
short * mask()
void xorMask(QcepMaskDataPtr mask)
void setMaskValue(int x, int y, bool mval)
int countUnmaskedPixels() const
void orMask(QcepMaskDataPtr mask)
int countOverflowPixels() const
void setCircularMask()
void xorNotMask(QcepMaskDataPtr mask)
void andMask(QcepMaskDataPtr mask)
QImage thumbnailImage() const
QcepMaskData(QcepSettingsSaverWPtr saver, int width, int height, int def, QcepObject *parent)
Definition: qcepmaskdata.cpp:4
QcepMaskDataPtr copyMask(QcepObject *parent)
void orNotMask(QcepMaskDataPtr mask)
bool maskValue(int x, int y) const
void andNotMask(QcepMaskDataPtr mask)
QSize thumbnailImageSize() const
void copyMaskTo(QcepMaskDataPtr dest)
int countMaskedPixels() const
void hideMaskRange(QSharedPointer< QcepImageData< T > > image, T min, T max)
QSharedPointer< QcepMaskData > QcepMaskDataPtr
void maskCircle(double cx, double cy, double r, bool val)
QString summary()
void setMaskRange(QSharedPointer< QcepImageData< T > > image, T min, T max, bool inRange, bool setTo)
void showMaskAll()
void invertMask()
QWeakPointer< QcepSettingsSaver > QcepSettingsSaverWPtr
void showMaskRange(QSharedPointer< QcepImageData< T > > image, T min, T max)
QcepSettingsSaverWPtr saver()