Mercurial > repos > thomaswollmann > coordinates_of_roi
comparison coordinates_of_roi.py @ 0:b69e3f2ee9fa draft default tip
planemo upload for repository https://github.com/BMCV/galaxy-image-analysis/tools/coordinates_of_roi/ commit d93e1dd276027cfc3fb518236110395a23d96f66
| author | thomaswollmann |
|---|---|
| date | Wed, 16 Jan 2019 15:30:36 -0500 |
| parents | |
| children |
comparison
equal
deleted
inserted
replaced
| -1:000000000000 | 0:b69e3f2ee9fa |
|---|---|
| 1 import argparse | |
| 2 import pandas as pd | |
| 3 import skimage.io | |
| 4 import skimage.color | |
| 5 import warnings | |
| 6 | |
| 7 def get_pixel_values(im, pixel_table, white_obj, threshold, offset=[0,0]): | |
| 8 data = skimage.io.imread(im) | |
| 9 if len(data.shape) == 3 and data.shape[-1] > 1: | |
| 10 data = skimage.color.rgb2grey(data) | |
| 11 x = [] | |
| 12 y = [] | |
| 13 for i in range(data.shape[0]): | |
| 14 for j in range(data.shape[1]): | |
| 15 if white_obj == False: | |
| 16 if data[i,j] <= threshold: | |
| 17 x.append(j + offset[0]) | |
| 18 y.append(i + offset[1]) | |
| 19 elif data[i,j] >= threshold: | |
| 20 x.append(j + offset[0]) | |
| 21 y.append(i + offset[1]) | |
| 22 | |
| 23 df = pd.DataFrame() | |
| 24 df['x'] = x | |
| 25 df['y'] = y | |
| 26 df.to_csv(pixel_table, sep="\t", index = False) | |
| 27 | |
| 28 if __name__=="__main__": | |
| 29 parser = argparse.ArgumentParser(description = "Create a csv table with Coordinates of the ROI") | |
| 30 parser.add_argument("im", help = "Paste path to out.png (output created by transformation)") | |
| 31 parser.add_argument("pixel_table", help = "Paste path to file in which list with all pixles > threshold should be saved") | |
| 32 parser.add_argument('offset_x', type=int, help='offset in x direction (width)', default=0) | |
| 33 parser.add_argument('offset_y', type=int, help='offset in y direction (height)', default=0) | |
| 34 parser.add_argument("--white_obj", dest = "white_obj", default=False, help = "If set objects in image are white otherwise black", action = "store_true") | |
| 35 parser.add_argument("--threshold", dest = "threshold", default = 0.5, help = "Enter desired threshold value", type = float) | |
| 36 | |
| 37 args = parser.parse_args() | |
| 38 # with warnings.catch_warnings(): | |
| 39 # warnings.simplefilter("ignore") | |
| 40 get_pixel_values(args.im, args.pixel_table, args.white_obj, args.threshold, [args.offset_x, args.offset_y]) |
