Hi Juan,Thanks for pointing the typo. I corrected it, and looks like imgs[i,0]=imgs[i,0].astype(np.unit8) does not solve the problem.Here is the screenshot of resultimgs[i,0] (584, 565)imgs[i,0] float64imgs[i,0] 255.0imgs[i,0] 0.0afte applying astypeimgs[i,0] (584, 565)imgs[i,0] float64imgs[i,0] 255.0imgs[i,0] 0.0Thanks,Yuanyuan
On Tue, Dec 27, 2016 at 12:10 AM, Juan Nunez-Iglesias <jni.soma@gmail.com> wrote:
Typo: unit8 -> uint8______________________________Dear All,I was trying to use the above code segment for performing Contrast Limited Adaptive Histogram Equalization (CLAHE).def clahe_equalized(imgs):imgs_equalized = np.empty(imgs.shape)for i in range(imgs.shape[0]):print('imgs[i,0] ',imgs[i,0].dtype)print('imgs[i,0] ',imgs[i,0].max())print('imgs[i,0] ',imgs[i,0].min())imgs_equalized[i,0] = exposure.equalize_adapthist(imgs[i,0],clip_limit=0.03) return imgs_equalizedThe dtype is float64, maximum value is 255.0 and minimum value is 0.0Running the program generates the following error message ( I only keep the related ones)imgs_equalized[i,0] = exposure.equalize_adapthist(imgs[i,0],clip_limit=0.03) raise ValueError("Images of type float must be between -1 and 1.")ValueError: Images of type float must be between -1 and 1.In accordance with the above error message and image characteristics, what are the best way to handle this scenario.I have been thinking of two approaches
- add imgs[i,0] = imgs[i,0]/255. which scale it to 0 and 1
- convert imgs[i,0] from float64 to unit8
but imgs[i,0] = imgs[i,0].astype(np.unit8) gives the error message such asimgs[i,0]=imgs[i,0].astype(np.unit8) AttributeError: 'module' object has no attribute 'unit8'Would you like to give any advice on this problem? Thank you very much!_________________
scikit-image mailing list
scikit-image@python.org
https://mail.python.org/mailman/listinfo/scikit-image
______________________________Dear All,I was trying to use the above code segment for performing Contrast Limited Adaptive Histogram Equalization (CLAHE).def clahe_equalized(imgs):imgs_equalized = np.empty(imgs.shape)for i in range(imgs.shape[0]):print('imgs[i,0] ',imgs[i,0].dtype)print('imgs[i,0] ',imgs[i,0].max())print('imgs[i,0] ',imgs[i,0].min())imgs_equalized[i,0] = exposure.equalize_adapthist(imgs[i,0],clip_limit=0.03) return imgs_equalizedThe dtype is float64, maximum value is 255.0 and minimum value is 0.0Running the program generates the following error message ( I only keep the related ones)imgs_equalized[i,0] = exposure.equalize_adapthist(imgs[i,0],clip_limit=0.03) raise ValueError("Images of type float must be between -1 and 1.")ValueError: Images of type float must be between -1 and 1.In accordance with the above error message and image characteristics, what are the best way to handle this scenario.I have been thinking of two approaches
- add imgs[i,0] = imgs[i,0]/255. which scale it to 0 and 1
- convert imgs[i,0] from float64 to unit8
but imgs[i,0] = imgs[i,0].astype(np.unit8) gives the error message such asimgs[i,0]=imgs[i,0].astype(np.unit8) AttributeError: 'module' object has no attribute 'unit8'Would you like to give any advice on this problem? Thank you very much!_________________
scikit-image mailing list
scikit-image@python.org
https://mail.python.org/mailman/listinfo/scikit-image