Beispiel #1
0
 def test_missing_starting_lines_bidir(self):
     raw_lines = np.arange(start=0, stop=1000, step=5, dtype=np.uint64)
     num_lines = len(raw_lines[:-1])
     del_lines = np.delete(raw_lines, [0, 1, 2, 3])
     rect = LineRectifier(lines=del_lines[:-1],
                          x_pixels=num_lines,
                          bidir=True)
     self.assertSequenceEqual(list(rect.rectify()), list(raw_lines))
Beispiel #2
0
 def test_missing_with_two_lines_or_one_ok_bidir(self):
     raw_lines = np.arange(start=0, stop=2500, step=50, dtype=np.uint64)
     num_lines = len(raw_lines[:-1])
     del_lines = np.delete(raw_lines, [3, 6, 11])
     rect = LineRectifier(lines=del_lines[:-1],
                          x_pixels=num_lines,
                          bidir=True)
     self.assertSequenceEqual(list(rect.rectify()), list(raw_lines))
Beispiel #3
0
 def test_issue_with_first_diff_and_more_bidir(self):
     raw_lines = np.arange(start=0, stop=1000, step=5, dtype=np.uint64)
     num_lines = len(raw_lines[:-1])
     del_lines = np.delete(raw_lines, [1, 2, 10, 40, 41, 42, 100, 101])
     rect = LineRectifier(lines=del_lines[:-1],
                          x_pixels=num_lines,
                          bidir=True)
     self.assertSequenceEqual(list(rect.rectify()), list(raw_lines))
Beispiel #4
0
 def test_missing_line_from_end_unidir(self):
     raw_lines = np.arange(start=0, stop=1000, step=10, dtype=np.uint64)
     num_lines = len(raw_lines[:-1])
     del_lines = np.delete(raw_lines, [len(raw_lines) - 2])
     rect = LineRectifier(lines=del_lines[:-1],
                          x_pixels=num_lines,
                          bidir=False)
     self.assertSequenceEqual(list(rect.rectify()), list(raw_lines))
Beispiel #5
0
 def test_multiple_single_lines_middle_bidir(self):
     raw_lines = np.arange(start=0, stop=1000, step=10, dtype=np.uint64)
     num_lines = len(raw_lines[:-1])
     del_lines = np.delete(raw_lines, [2, 10])
     rect = LineRectifier(lines=del_lines[:-1],
                          x_pixels=num_lines,
                          bidir=True)
     self.assertSequenceEqual(list(rect.rectify()), list(raw_lines))
Beispiel #6
0
 def test_normal_line_signal_from_zero_unidir(self):
     """
     Non corrupt signal to test
     :return:
     """
     raw_lines = np.arange(start=0, stop=100, step=10, dtype=np.uint64)
     num_lines = len(raw_lines[:-1])
     rect = LineRectifier(lines=raw_lines[:-1],
                          x_pixels=num_lines,
                          bidir=False)
     self.assertSequenceEqual(list(rect.rectify()), list(raw_lines))
Beispiel #7
0
 def test_missing_head_tail_bidir(self):
     raw_lines = np.arange(start=0, stop=1000, step=5, dtype=np.uint64)
     num_lines = len(raw_lines[:-1])
     del_lines = np.delete(
         raw_lines,
         [0, 1, 2, 3, len(raw_lines) - 2,
          len(raw_lines) - 3])
     rect = LineRectifier(lines=del_lines[:-1],
                          x_pixels=num_lines,
                          bidir=True)
     expected_lines = np.array([0, 3, 6, 10, 13, 16], dtype=np.uint64)
     expected_lines = np.concatenate((expected_lines, raw_lines[4:-2]))
     self.assertSequenceEqual(list(rect.rectify()), list(expected_lines))
Beispiel #8
0
    def test_normal_line_signal_with_noise_bidir(self):
        """
        Non corrupt signal to test
        :return:
        """
        step = 100
        raw_lines = np.arange(start=500,
                              stop=15000,
                              step=step,
                              dtype=np.uint64)
        raw_lines += ((np.random.rand(raw_lines.shape[0]) - 0.5) * step /
                      25).astype(np.uint64)
        num_lines = len(raw_lines[:-1])
        rect = LineRectifier(lines=raw_lines[:-1],
                             x_pixels=num_lines,
                             bidir=True)

        for idx, (val1,
                  val2) in enumerate(zip(rect.rectify()[:-1], raw_lines[:-1])):
            self.assertGreaterEqual(1, np.abs(float(val1) - float(val2)))
Beispiel #9
0
 def test_missing_lines_from_end_and_middle_bidir(self):
     raw_lines = np.arange(start=0, stop=1000, step=5, dtype=np.uint64)
     num_lines = len(raw_lines[:-1])
     del_lines = np.delete(
         raw_lines,
         [
             len(raw_lines) - 2,
             len(raw_lines) - 3,
             len(raw_lines) - 4,
             10,
             20,
             21,
             22,
             51,
         ],
     )
     rect = LineRectifier(lines=del_lines[:-1],
                          x_pixels=num_lines,
                          bidir=True)
     self.assertSequenceEqual(list(rect.rectify()), list(raw_lines))