Compare commits
	
		
			3 Commits
		
	
	
		
			4dd52aae90
			...
			b354f59ac5
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
| b354f59ac5 | |||
| 0f394faa61 | |||
| faed1e33e8 | 
							
								
								
									
										49
									
								
								datasets/raise/extract_noise.py
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										49
									
								
								datasets/raise/extract_noise.py
									
									
									
									
									
										Executable file
									
								
							| @@ -0,0 +1,49 @@ | ||||
| #!/usr/bin/python3 | ||||
|  | ||||
| from skimage.restoration import denoise_tv_chambolle | ||||
| from skimage import img_as_float | ||||
| import numpy as np | ||||
| from PIL import Image | ||||
| import os | ||||
| from tqdm import tqdm | ||||
| from multiprocessing import Pool | ||||
| from threading import Lock | ||||
|  | ||||
| imagesFolderPath = 'flat-field' | ||||
| npArrayFilePath = 'mean.npy' | ||||
|  | ||||
| mutex = Lock() | ||||
| mean = None#np.zeros((3264, 4928, 3)) | ||||
| numberOfImagesInMean = 0 | ||||
|  | ||||
| imagesFileNames = os.listdir(imagesFolderPath) | ||||
|  | ||||
| pbar = tqdm(total = len(imagesFileNames)) | ||||
|  | ||||
| def treatImage(imageFileName): | ||||
| 	global mean, numberOfImagesInMean, pbar | ||||
| 	imageFilePath = f'{imagesFolderPath}/{imageFileName}' | ||||
| 	imagePil = Image.open(imageFilePath) | ||||
| 	imageNpArray = img_as_float(np.array(imagePil)) | ||||
| 	print('Before mean computation') | ||||
| 	imageNoiseNpArray = imageNpArray - denoise_tv_chambolle(imageNpArray, weight=0.2, channel_axis=-1) | ||||
| 	print('After mean computation') | ||||
| 	with mutex: | ||||
| 		print('Start mutex section') | ||||
| 		if mean is None: | ||||
| 			print('Inter A') | ||||
| 			mean = imageNoiseNpArray | ||||
| 		else: | ||||
| 			print('Inter B') | ||||
| 			mean = ((mean * numberOfImagesInMean) + imageNoiseNpArray) / (numberOfImagesInMean + 1) | ||||
| 		print('Intermediary 0') | ||||
| 		numberOfImagesInMean += 1 | ||||
| 		print('Intermediary 1') | ||||
| 		pbar.update(numberOfImagesInMean) | ||||
| 		print('End mutex section') | ||||
|  | ||||
| with Pool(5) as p: | ||||
| 	p.map(treatImage, imagesFileNames) | ||||
|  | ||||
| with open(npArrayFilePath, 'wb') as f: | ||||
| 	np.save(f, mean) | ||||
		Reference in New Issue
	
	Block a user