comparison labelimage2points.py @ 2:3b7460735223 draft default tip

planemo upload for repository https://github.com/BMCV/galaxy-image-analysis/tree/master/tools/labelimage2points/ commit 2286a6c9da88596349ed9d967c51541409c0a7bf
author imgteam
date Mon, 13 Nov 2023 22:11:16 +0000
parents 07525a7d9ea0
children
comparison
equal deleted inserted replaced
1:07525a7d9ea0 2:3b7460735223
1 import argparse 1 import argparse
2 import sys 2
3 import numpy as np
3 import pandas as pd 4 import pandas as pd
4 import skimage.io 5 import skimage.io
5 from skimage.measure import label
6 from skimage.data import checkerboard
7 import numpy as np
8 6
9
10 7
11 def labelimage2points(input_file): 8 def labelimage2points(input_file):
12 img_in = skimage.io.imread(input_file) 9 img_in = skimage.io.imread(input_file)
13 10
14 #amount of regions 11 # amount of regions
15 amount_label = np.max(img_in) 12 amount_label = np.max(img_in)
16 13
17 # iterate over all regions in order to calc center of mass 14 # iterate over all regions in order to calc center of mass
18 center_mass = [] 15 center_mass = []
19 for i in range(1,amount_label+1): 16 for i in range(1, amount_label + 1):
20 #get coordinates of region 17 # get coordinates of region
21 coord = np.where(img_in==i) 18 coord = np.where(img_in == i)
22 # be carefull with x,y coordinates 19 # be carefull with x,y coordinates
23 center_mass.append([np.mean(coord[1]),np.mean(coord[0])]) 20 center_mass.append([np.mean(coord[1]), np.mean(coord[0])])
24 21
25 #make data frame of detections 22 # make data frame of detections
26 out_dataFrame = pd.DataFrame(center_mass) 23 out_dataFrame = pd.DataFrame(center_mass)
27 24
28 25 # return
29 #return 26 return out_dataFrame
30 return(out_dataFrame)
31 27
32 28
33 if __name__ == "__main__": 29 if __name__ == "__main__":
34 parser = argparse.ArgumentParser() 30 parser = argparse.ArgumentParser()
35 parser.add_argument('input_file', help='input file') 31 parser.add_argument('input_file', help='input file')
36 parser.add_argument('out_file', help='out file (CSV)') 32 parser.add_argument('out_file', help='out file (CSV)')
37 33
38 args = parser.parse_args() 34 args = parser.parse_args()
39 input_file = args.input_file 35 input_file = args.input_file
40 out_file = args.out_file 36 out_file = args.out_file
41 37
42 #TOOL 38 # TOOL
43 out_dataFrame = labelimage2points(input_file) 39 out_dataFrame = labelimage2points(input_file)
44 40
45 #Print to csv file 41 # Print to csv file
46 out_dataFrame.to_csv(out_file, index=False, header=False, sep="\t") 42 out_dataFrame.to_csv(out_file, index=False, header=False, sep="\t")