From c8fe71444fed196d861748aa9e19d23f68cadab8 Mon Sep 17 00:00:00 2001 From: Benjamin Loison Date: Sat, 27 Apr 2024 16:49:06 +0200 Subject: [PATCH] #59: Leverage `iterativeMean` to not suffer of RAM quantity issue --- .../split_and_compare_prnus_of_subgroups.py | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/datasets/raise/split_and_compare_prnus_of_subgroups.py b/datasets/raise/split_and_compare_prnus_of_subgroups.py index 6cfe99e..11010a6 100644 --- a/datasets/raise/split_and_compare_prnus_of_subgroups.py +++ b/datasets/raise/split_and_compare_prnus_of_subgroups.py @@ -2,7 +2,7 @@ from PIL import Image import numpy as np import matplotlib.pyplot as plt from tqdm import tqdm -from utils import denoise +from utils import denoise, iterativeMean from skimage import img_as_float import sys import os @@ -12,7 +12,7 @@ sys.path.insert(0, '../../algorithms/distance/') from rms_diff import rmsDiffNumpy -NUMBER_OF_SUBGROUPS = 1 +NUMBER_OF_SUBGROUPS = 2 DENOISER = 'wavelet' IMAGES_FOLDER = 'flat-field/TIF' @@ -24,7 +24,8 @@ numberOfImagesThresholds = range(numberOfImagesPerSubgroup, numberOfImagesPerSub subgroupsPrnuEstimatesNpArray = [] for subgroupIndex in tqdm(range(NUMBER_OF_SUBGROUPS), 'Subgroup'): - imagesPrnuEstimateNpArray = [] + subgroupPrnuEstimateNpArray = [] + subgroupIterativeMean = iterativeMean() subgroupImagesFileNames = imagesFileNames[numberOfImagesPerSubgroup * subgroupIndex : numberOfImagesPerSubgroup * (subgroupIndex + 1)] for imageFileName in tqdm(subgroupImagesFileNames, f'Image of subgroup {subgroupIndex}'): imagePath = f'{IMAGES_FOLDER}/{imageFileName}' @@ -33,11 +34,10 @@ for subgroupIndex in tqdm(range(NUMBER_OF_SUBGROUPS), 'Subgroup'): imagePrnuEstimateNpArray = imageNpArray - denoise(imageNpArray, DENOISER) imagesPrnuEstimateNpArray += [imagePrnuEstimateNpArray] - subgroupPrnuEstimateNpArray = [] - # Not efficient mean computation. - for numberOfImagesIndex, numberOfImages in enumerate(numberOfImagesThresholds): - subgroupPrnuEstimateNpArray += [np.array(imagesPrnuEstimateNpArray[:numberOfImages]).mean(axis = 0)] - plt.imsave('prnu.png', subgroupPrnuEstimateNpArray[-1]) + subgroupIterativeMean.add(imagePrnuEstimateNpArray) + subgroupPrnuEstimateNpArray += [subgroupIterativeMean.mean] + + plt.imsave(f'prnu_subgroup_{subgroupIndex}.png', subgroupPrnuEstimateNpArray[-1]) subgroupsPrnuEstimatesNpArray += [subgroupPrnuEstimateNpArray] rmss = []