Mercurial > repos > thomaswollmann > binaryimage2points
annotate binaryimage2points.py @ 0:c983b2d2cdd7 draft default tip
planemo upload for repository https://github.com/BMCV/galaxy-image-analysis/tools/binaryimage2points/ commit 27a6350188f687411bdd6bfe0d569c0803389ca0
| author | thomaswollmann |
|---|---|
| date | Wed, 12 Dec 2018 04:49:24 -0500 |
| parents | |
| children |
| rev | line source |
|---|---|
|
0
c983b2d2cdd7
planemo upload for repository https://github.com/BMCV/galaxy-image-analysis/tools/binaryimage2points/ commit 27a6350188f687411bdd6bfe0d569c0803389ca0
thomaswollmann
parents:
diff
changeset
|
1 import argparse |
|
c983b2d2cdd7
planemo upload for repository https://github.com/BMCV/galaxy-image-analysis/tools/binaryimage2points/ commit 27a6350188f687411bdd6bfe0d569c0803389ca0
thomaswollmann
parents:
diff
changeset
|
2 import sys |
|
c983b2d2cdd7
planemo upload for repository https://github.com/BMCV/galaxy-image-analysis/tools/binaryimage2points/ commit 27a6350188f687411bdd6bfe0d569c0803389ca0
thomaswollmann
parents:
diff
changeset
|
3 import pandas as pd |
|
c983b2d2cdd7
planemo upload for repository https://github.com/BMCV/galaxy-image-analysis/tools/binaryimage2points/ commit 27a6350188f687411bdd6bfe0d569c0803389ca0
thomaswollmann
parents:
diff
changeset
|
4 import skimage.io |
|
c983b2d2cdd7
planemo upload for repository https://github.com/BMCV/galaxy-image-analysis/tools/binaryimage2points/ commit 27a6350188f687411bdd6bfe0d569c0803389ca0
thomaswollmann
parents:
diff
changeset
|
5 from skimage.measure import label |
|
c983b2d2cdd7
planemo upload for repository https://github.com/BMCV/galaxy-image-analysis/tools/binaryimage2points/ commit 27a6350188f687411bdd6bfe0d569c0803389ca0
thomaswollmann
parents:
diff
changeset
|
6 from skimage.data import checkerboard |
|
c983b2d2cdd7
planemo upload for repository https://github.com/BMCV/galaxy-image-analysis/tools/binaryimage2points/ commit 27a6350188f687411bdd6bfe0d569c0803389ca0
thomaswollmann
parents:
diff
changeset
|
7 import numpy as np |
|
c983b2d2cdd7
planemo upload for repository https://github.com/BMCV/galaxy-image-analysis/tools/binaryimage2points/ commit 27a6350188f687411bdd6bfe0d569c0803389ca0
thomaswollmann
parents:
diff
changeset
|
8 import warnings |
|
c983b2d2cdd7
planemo upload for repository https://github.com/BMCV/galaxy-image-analysis/tools/binaryimage2points/ commit 27a6350188f687411bdd6bfe0d569c0803389ca0
thomaswollmann
parents:
diff
changeset
|
9 |
|
c983b2d2cdd7
planemo upload for repository https://github.com/BMCV/galaxy-image-analysis/tools/binaryimage2points/ commit 27a6350188f687411bdd6bfe0d569c0803389ca0
thomaswollmann
parents:
diff
changeset
|
10 |
|
c983b2d2cdd7
planemo upload for repository https://github.com/BMCV/galaxy-image-analysis/tools/binaryimage2points/ commit 27a6350188f687411bdd6bfe0d569c0803389ca0
thomaswollmann
parents:
diff
changeset
|
11 |
|
c983b2d2cdd7
planemo upload for repository https://github.com/BMCV/galaxy-image-analysis/tools/binaryimage2points/ commit 27a6350188f687411bdd6bfe0d569c0803389ca0
thomaswollmann
parents:
diff
changeset
|
12 def binaryimage2points(input_file): |
|
c983b2d2cdd7
planemo upload for repository https://github.com/BMCV/galaxy-image-analysis/tools/binaryimage2points/ commit 27a6350188f687411bdd6bfe0d569c0803389ca0
thomaswollmann
parents:
diff
changeset
|
13 # ignore warnings that arise when importing a package that was compiled against an older version of numpy than installed; https://github.com/numpy/numpy/pull/432 |
|
c983b2d2cdd7
planemo upload for repository https://github.com/BMCV/galaxy-image-analysis/tools/binaryimage2points/ commit 27a6350188f687411bdd6bfe0d569c0803389ca0
thomaswollmann
parents:
diff
changeset
|
14 warnings.filterwarnings("ignore") |
|
c983b2d2cdd7
planemo upload for repository https://github.com/BMCV/galaxy-image-analysis/tools/binaryimage2points/ commit 27a6350188f687411bdd6bfe0d569c0803389ca0
thomaswollmann
parents:
diff
changeset
|
15 |
|
c983b2d2cdd7
planemo upload for repository https://github.com/BMCV/galaxy-image-analysis/tools/binaryimage2points/ commit 27a6350188f687411bdd6bfe0d569c0803389ca0
thomaswollmann
parents:
diff
changeset
|
16 img_in = skimage.io.imread(input_file, plugin='tifffile') |
|
c983b2d2cdd7
planemo upload for repository https://github.com/BMCV/galaxy-image-analysis/tools/binaryimage2points/ commit 27a6350188f687411bdd6bfe0d569c0803389ca0
thomaswollmann
parents:
diff
changeset
|
17 |
|
c983b2d2cdd7
planemo upload for repository https://github.com/BMCV/galaxy-image-analysis/tools/binaryimage2points/ commit 27a6350188f687411bdd6bfe0d569c0803389ca0
thomaswollmann
parents:
diff
changeset
|
18 #make label image |
|
c983b2d2cdd7
planemo upload for repository https://github.com/BMCV/galaxy-image-analysis/tools/binaryimage2points/ commit 27a6350188f687411bdd6bfe0d569c0803389ca0
thomaswollmann
parents:
diff
changeset
|
19 label = skimage.measure.label(img_in) |
|
c983b2d2cdd7
planemo upload for repository https://github.com/BMCV/galaxy-image-analysis/tools/binaryimage2points/ commit 27a6350188f687411bdd6bfe0d569c0803389ca0
thomaswollmann
parents:
diff
changeset
|
20 |
|
c983b2d2cdd7
planemo upload for repository https://github.com/BMCV/galaxy-image-analysis/tools/binaryimage2points/ commit 27a6350188f687411bdd6bfe0d569c0803389ca0
thomaswollmann
parents:
diff
changeset
|
21 #amount of regions |
|
c983b2d2cdd7
planemo upload for repository https://github.com/BMCV/galaxy-image-analysis/tools/binaryimage2points/ commit 27a6350188f687411bdd6bfe0d569c0803389ca0
thomaswollmann
parents:
diff
changeset
|
22 amount_label = np.max(label) |
|
c983b2d2cdd7
planemo upload for repository https://github.com/BMCV/galaxy-image-analysis/tools/binaryimage2points/ commit 27a6350188f687411bdd6bfe0d569c0803389ca0
thomaswollmann
parents:
diff
changeset
|
23 |
|
c983b2d2cdd7
planemo upload for repository https://github.com/BMCV/galaxy-image-analysis/tools/binaryimage2points/ commit 27a6350188f687411bdd6bfe0d569c0803389ca0
thomaswollmann
parents:
diff
changeset
|
24 # iterate over all regions in order to calc center of mass |
|
c983b2d2cdd7
planemo upload for repository https://github.com/BMCV/galaxy-image-analysis/tools/binaryimage2points/ commit 27a6350188f687411bdd6bfe0d569c0803389ca0
thomaswollmann
parents:
diff
changeset
|
25 center_mass = [] |
|
c983b2d2cdd7
planemo upload for repository https://github.com/BMCV/galaxy-image-analysis/tools/binaryimage2points/ commit 27a6350188f687411bdd6bfe0d569c0803389ca0
thomaswollmann
parents:
diff
changeset
|
26 for i in range(1,amount_label+1): |
|
c983b2d2cdd7
planemo upload for repository https://github.com/BMCV/galaxy-image-analysis/tools/binaryimage2points/ commit 27a6350188f687411bdd6bfe0d569c0803389ca0
thomaswollmann
parents:
diff
changeset
|
27 #get coordinates of region |
|
c983b2d2cdd7
planemo upload for repository https://github.com/BMCV/galaxy-image-analysis/tools/binaryimage2points/ commit 27a6350188f687411bdd6bfe0d569c0803389ca0
thomaswollmann
parents:
diff
changeset
|
28 coord = np.where(label==i) |
|
c983b2d2cdd7
planemo upload for repository https://github.com/BMCV/galaxy-image-analysis/tools/binaryimage2points/ commit 27a6350188f687411bdd6bfe0d569c0803389ca0
thomaswollmann
parents:
diff
changeset
|
29 # be carefull with x,y coordinates |
|
c983b2d2cdd7
planemo upload for repository https://github.com/BMCV/galaxy-image-analysis/tools/binaryimage2points/ commit 27a6350188f687411bdd6bfe0d569c0803389ca0
thomaswollmann
parents:
diff
changeset
|
30 center_mass.append([np.mean(coord[1]),np.mean(coord[0])]) |
|
c983b2d2cdd7
planemo upload for repository https://github.com/BMCV/galaxy-image-analysis/tools/binaryimage2points/ commit 27a6350188f687411bdd6bfe0d569c0803389ca0
thomaswollmann
parents:
diff
changeset
|
31 |
|
c983b2d2cdd7
planemo upload for repository https://github.com/BMCV/galaxy-image-analysis/tools/binaryimage2points/ commit 27a6350188f687411bdd6bfe0d569c0803389ca0
thomaswollmann
parents:
diff
changeset
|
32 #make data frame of detections |
|
c983b2d2cdd7
planemo upload for repository https://github.com/BMCV/galaxy-image-analysis/tools/binaryimage2points/ commit 27a6350188f687411bdd6bfe0d569c0803389ca0
thomaswollmann
parents:
diff
changeset
|
33 out_dataFrame = pd.DataFrame(center_mass) |
|
c983b2d2cdd7
planemo upload for repository https://github.com/BMCV/galaxy-image-analysis/tools/binaryimage2points/ commit 27a6350188f687411bdd6bfe0d569c0803389ca0
thomaswollmann
parents:
diff
changeset
|
34 |
|
c983b2d2cdd7
planemo upload for repository https://github.com/BMCV/galaxy-image-analysis/tools/binaryimage2points/ commit 27a6350188f687411bdd6bfe0d569c0803389ca0
thomaswollmann
parents:
diff
changeset
|
35 |
|
c983b2d2cdd7
planemo upload for repository https://github.com/BMCV/galaxy-image-analysis/tools/binaryimage2points/ commit 27a6350188f687411bdd6bfe0d569c0803389ca0
thomaswollmann
parents:
diff
changeset
|
36 #return |
|
c983b2d2cdd7
planemo upload for repository https://github.com/BMCV/galaxy-image-analysis/tools/binaryimage2points/ commit 27a6350188f687411bdd6bfe0d569c0803389ca0
thomaswollmann
parents:
diff
changeset
|
37 return(out_dataFrame) |
|
c983b2d2cdd7
planemo upload for repository https://github.com/BMCV/galaxy-image-analysis/tools/binaryimage2points/ commit 27a6350188f687411bdd6bfe0d569c0803389ca0
thomaswollmann
parents:
diff
changeset
|
38 |
|
c983b2d2cdd7
planemo upload for repository https://github.com/BMCV/galaxy-image-analysis/tools/binaryimage2points/ commit 27a6350188f687411bdd6bfe0d569c0803389ca0
thomaswollmann
parents:
diff
changeset
|
39 |
|
c983b2d2cdd7
planemo upload for repository https://github.com/BMCV/galaxy-image-analysis/tools/binaryimage2points/ commit 27a6350188f687411bdd6bfe0d569c0803389ca0
thomaswollmann
parents:
diff
changeset
|
40 |
|
c983b2d2cdd7
planemo upload for repository https://github.com/BMCV/galaxy-image-analysis/tools/binaryimage2points/ commit 27a6350188f687411bdd6bfe0d569c0803389ca0
thomaswollmann
parents:
diff
changeset
|
41 |
|
c983b2d2cdd7
planemo upload for repository https://github.com/BMCV/galaxy-image-analysis/tools/binaryimage2points/ commit 27a6350188f687411bdd6bfe0d569c0803389ca0
thomaswollmann
parents:
diff
changeset
|
42 if __name__ == "__main__": |
|
c983b2d2cdd7
planemo upload for repository https://github.com/BMCV/galaxy-image-analysis/tools/binaryimage2points/ commit 27a6350188f687411bdd6bfe0d569c0803389ca0
thomaswollmann
parents:
diff
changeset
|
43 parser = argparse.ArgumentParser() |
|
c983b2d2cdd7
planemo upload for repository https://github.com/BMCV/galaxy-image-analysis/tools/binaryimage2points/ commit 27a6350188f687411bdd6bfe0d569c0803389ca0
thomaswollmann
parents:
diff
changeset
|
44 parser.add_argument('input_file', help='input file') |
|
c983b2d2cdd7
planemo upload for repository https://github.com/BMCV/galaxy-image-analysis/tools/binaryimage2points/ commit 27a6350188f687411bdd6bfe0d569c0803389ca0
thomaswollmann
parents:
diff
changeset
|
45 parser.add_argument('out_file', help='out file (CSV)') |
|
c983b2d2cdd7
planemo upload for repository https://github.com/BMCV/galaxy-image-analysis/tools/binaryimage2points/ commit 27a6350188f687411bdd6bfe0d569c0803389ca0
thomaswollmann
parents:
diff
changeset
|
46 |
|
c983b2d2cdd7
planemo upload for repository https://github.com/BMCV/galaxy-image-analysis/tools/binaryimage2points/ commit 27a6350188f687411bdd6bfe0d569c0803389ca0
thomaswollmann
parents:
diff
changeset
|
47 args = parser.parse_args() |
|
c983b2d2cdd7
planemo upload for repository https://github.com/BMCV/galaxy-image-analysis/tools/binaryimage2points/ commit 27a6350188f687411bdd6bfe0d569c0803389ca0
thomaswollmann
parents:
diff
changeset
|
48 input_file = args.input_file |
|
c983b2d2cdd7
planemo upload for repository https://github.com/BMCV/galaxy-image-analysis/tools/binaryimage2points/ commit 27a6350188f687411bdd6bfe0d569c0803389ca0
thomaswollmann
parents:
diff
changeset
|
49 out_file = args.out_file |
|
c983b2d2cdd7
planemo upload for repository https://github.com/BMCV/galaxy-image-analysis/tools/binaryimage2points/ commit 27a6350188f687411bdd6bfe0d569c0803389ca0
thomaswollmann
parents:
diff
changeset
|
50 |
|
c983b2d2cdd7
planemo upload for repository https://github.com/BMCV/galaxy-image-analysis/tools/binaryimage2points/ commit 27a6350188f687411bdd6bfe0d569c0803389ca0
thomaswollmann
parents:
diff
changeset
|
51 #TOOL |
|
c983b2d2cdd7
planemo upload for repository https://github.com/BMCV/galaxy-image-analysis/tools/binaryimage2points/ commit 27a6350188f687411bdd6bfe0d569c0803389ca0
thomaswollmann
parents:
diff
changeset
|
52 out_dataFrame = binaryimage2points(input_file) |
|
c983b2d2cdd7
planemo upload for repository https://github.com/BMCV/galaxy-image-analysis/tools/binaryimage2points/ commit 27a6350188f687411bdd6bfe0d569c0803389ca0
thomaswollmann
parents:
diff
changeset
|
53 |
|
c983b2d2cdd7
planemo upload for repository https://github.com/BMCV/galaxy-image-analysis/tools/binaryimage2points/ commit 27a6350188f687411bdd6bfe0d569c0803389ca0
thomaswollmann
parents:
diff
changeset
|
54 #Print to csv file |
|
c983b2d2cdd7
planemo upload for repository https://github.com/BMCV/galaxy-image-analysis/tools/binaryimage2points/ commit 27a6350188f687411bdd6bfe0d569c0803389ca0
thomaswollmann
parents:
diff
changeset
|
55 out_dataFrame.to_csv(out_file,index=False,header=False) |
