comparison coordinates_of_roi.py @ 4:00175f4a2bbb draft default tip

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