Mercurial > repos > imgteam > 2d_histogram_equalization
comparison histogram_equalization.py @ 4:99e0ef91ea5e draft default tip
planemo upload for repository https://github.com/BMCV/galaxy-image-analysis/tree/master/tools/2d_histogram_equalization/ commit 558152251d5d7a1bf77db91aa5388aca7a68ae62
| author | imgteam |
|---|---|
| date | Fri, 20 Feb 2026 09:56:44 +0000 |
| parents | b1c2c210813c |
| children |
comparison
equal
deleted
inserted
replaced
| 3:b1c2c210813c | 4:99e0ef91ea5e |
|---|---|
| 1 import argparse | 1 import argparse |
| 2 import sys | 2 import sys |
| 3 | 3 |
| 4 import giatools.io | 4 import giatools.io |
| 5 import numpy as np | |
| 5 import skimage.exposure | 6 import skimage.exposure |
| 6 import skimage.io | 7 import skimage.io |
| 7 import skimage.util | 8 import skimage.util |
| 8 | 9 |
| 10 | |
| 11 def rescale(img): | |
| 12 assert np.issubdtype(img.dtype, np.floating), str(img.dtype) # sanity check | |
| 13 img = img - img.min() | |
| 14 return img / img.max() if img.max() != 0 else 1 | |
| 15 | |
| 16 | |
| 9 hOptions = { | 17 hOptions = { |
| 10 'default': lambda img_raw: skimage.exposure.equalize_hist(img_raw), | 18 'default': lambda img_raw: rescale(skimage.exposure.equalize_hist(img_raw)), # rescale needed for values to be in [0, 1] |
| 11 'clahe': lambda img_raw: skimage.exposure.equalize_adapthist(img_raw) | 19 'clahe': lambda img_raw: skimage.exposure.equalize_adapthist(img_raw), # produces image with values in [0, 1] |
| 12 } | 20 } |
| 13 | 21 |
| 14 if __name__ == "__main__": | 22 if __name__ == "__main__": |
| 15 parser = argparse.ArgumentParser(description='Histogram equalization') | 23 parser = argparse.ArgumentParser(description='Histogram equalization') |
| 16 parser.add_argument('input_file', type=argparse.FileType('r'), default=sys.stdin, help='input file') | 24 parser.add_argument('input_file', type=argparse.FileType('r'), default=sys.stdin, help='input file') |
