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 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61
|
import os
import pytest
import numpy as np
from pynpoint.core.pypeline import Pypeline
from pynpoint.readwrite.fitsreading import FitsReadingModule
from pynpoint.processing.filter import GaussianFilterModule
from pynpoint.util.tests import create_config, remove_test_data, create_star_data
class TestFilter:
def setup_class(self) -> None:
self.limit = 1e-10
self.test_dir = os.path.dirname(__file__) + "/"
create_star_data(self.test_dir + "data")
create_config(self.test_dir + "PynPoint_config.ini")
self.pipeline = Pypeline(self.test_dir, self.test_dir, self.test_dir)
def teardown_class(self) -> None:
remove_test_data(self.test_dir, folders=["data"])
def test_read_data(self) -> None:
module = FitsReadingModule(
name_in="read",
image_tag="data",
input_dir=self.test_dir + "data",
overwrite=True,
check=True,
)
self.pipeline.add_module(module)
self.pipeline.run_module("read")
data = self.pipeline.get_data("data")
assert np.sum(data) == pytest.approx(
105.54278879805277, rel=self.limit, abs=0.0
)
assert data.shape == (10, 11, 11)
def test_gaussian_filter(self) -> None:
module = GaussianFilterModule(
name_in="filter", image_in_tag="data", image_out_tag="filtered", fwhm=0.1
)
self.pipeline.add_module(module)
self.pipeline.run_module("filter")
data = self.pipeline.get_data("filtered")
assert np.sum(data) == pytest.approx(
105.54278879805275, rel=self.limit, abs=0.0
)
assert data.shape == (10, 11, 11)
|