def test_ssim_files_with_different_sizes(self): pair = FilePair("files/tests/images/1-0-small-white.png", "files/tests/images/1-1-big-white.png") with self.assertRaises(ArgumentError): self.ssim(pair) assert pair.skipped is True assert pair.similarity == -1.0 assert pair.elapsed == -1.0
def test_ssim_missing_file_second_argument(self): pair = FilePair("files/tests/images/0-0-white.png", "no_such_file_exists.png") with self.assertRaises(FileError): self.ssim(pair) assert pair.skipped is True assert pair.similarity == -1.0 assert pair.elapsed == -1.0
def __process_file(self): self.records = [] with open(self.filename, 'r') as csv_file: file_pair_reader = csv.DictReader(csv_file, delimiter=self.delimiter, quotechar=self.quotechar) for line_num, row in enumerate(file_pair_reader): image1 = clean_string(row["image1"], default=self.default_filename) image2 = clean_string(row["image2"], default=self.default_filename) # If the input is missing just skip the file and log it as warning skip = (image1 == self.default_filename) | (image2 == self.default_filename) self.records.append(FilePair(image1=image1, image2=image2, line_num=line_num + 1, skipped=skip))
def setUp(self): """Set up test fixtures, if any.""" self.temp_files = [] self.temp_file_folder = "files/tests/tmp" self.headers = ["image1", "image2"] self.dummy_file = "files/tests/dummy.csv" self.sample_pairs = [ FilePair( "image1", "image2", ), FilePair( "image3", "image4", ), FilePair("image5", "image6") ] # Create the temp folder if if not os.path.exists(self.temp_file_folder): os.makedirs(self.temp_file_folder)
def test_ssim_similarity_big_files_big_wm_cat(self): pair = FilePair("files/tests/images/small/cat.png", "files/tests/images/small/cat-wm-big.png") self.ssim(pair) assert pair.similarity <= .03 assert pair.elapsed > 0, "Elapsed should be bigger than zero" assert pair.skipped is False
def test_ssim_similarity_of_white_black_inverse_order(self): pair = FilePair("files/tests/images/0-1-black.png", "files/tests/images/0-0-white.png") self.ssim(pair) assert pair.similarity >= .995, f"Files are the opposite, should be one {pair.similarity}" assert pair.elapsed > 0, "Elapsed should be bigger than zero" assert pair.skipped is False
def test_ssim_similarity_of_white_grey_inverse_order(self): pair = FilePair("files/tests/images/0-2-grey.png", "files/tests/images/0-0-white.png") self.ssim(pair) assert pair.similarity >= 0, "Files are not same, should be a positive value" assert pair.elapsed > 0, "Elapsed should be bigger than zero" assert pair.skipped is False
def test_ssim_similarity_of_same_file_white(self): pair = FilePair("files/tests/images/0-0-white.png", "files/tests/images/0-0-white.png") self.ssim(pair) assert pair.similarity <= .005, "Same files should return zero" assert pair.elapsed > 0, "Elapsed should be bigger than zero" assert pair.skipped is False
def test_whash_similarity_of_white_black_inverse_order(self): pair = FilePair("files/tests/images/small/cat.png", "files/tests/images/small/cat-wm-big.png") self.whash(pair) # assert pair.similarity > 0 assert pair.elapsed > 0, "Elapsed should be bigger than zero" assert pair.skipped is False
def test_nrmse_similarity_of_white_black(self): pair = FilePair("files/tests/images/0-0-white.png", "files/tests/images/0-1-black.png") self.nrmse(pair) assert pair.similarity >= .995, "Files are the opposite, should be one" assert pair.elapsed > 0, "Elapsed should be bigger than zero" assert pair.skipped is False