File: morphologicalflagger.h

package info (click to toggle)
aoflagger 3.4.0-4
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 8,960 kB
  • sloc: cpp: 83,076; python: 10,187; sh: 260; makefile: 178
file content (31 lines) | stat: -rw-r--r-- 977 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
#ifndef MORPHOLOGICAL_FLAGGER_H
#define MORPHOLOGICAL_FLAGGER_H

#include <string>

#include "../structures/mask2d.h"

namespace algorithms {

class MorphologicalFlagger {
 public:
  static inline bool SquareContainsFlag(const Mask2D* mask, size_t xLeft,
                                        size_t yTop, size_t xRight,
                                        size_t yBottom);
  static void DilateFlags(Mask2D* mask, size_t timeSize, size_t frequencySize) {
    DilateFlagsHorizontally(mask, timeSize);
    DilateFlagsVertically(mask, frequencySize);
  }
  static void DilateFlagsHorizontally(Mask2D* mask, size_t timeSize);
  static void DilateFlagsVertically(Mask2D* mask, size_t frequencySize);
  static void LineRemover(Mask2D* mask, size_t maxTimeContamination,
                          size_t maxFreqContamination);

 private:
  static void FlagTime(Mask2D* mask, size_t x);
  static void FlagFrequency(Mask2D* mask, size_t y);
};

}  // namespace algorithms

#endif