-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathFeatures_FOSbased.py
More file actions
38 lines (33 loc) · 1.53 KB
/
Features_FOSbased.py
File metadata and controls
38 lines (33 loc) · 1.53 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
'''
Command to run script :
~/Documents/MSimaging$ python Features_Firstorderstatistics.py -f '~/Documents/MSimaging/Images/A1.csv'
'''
import numpy as np
from scipy import stats
import argparse
def Firstorderstatistics(Imgarray):
'''Function calculate first order statistics for tissue object'''
FOS = []
graylevelarray = Imgarray
FOS.append(len(graylevelarray)) # pixel count
FOS.append(np.sum(graylevelarray)) # intensity sum within tissue
FOS.append(np.mean(graylevelarray)) # intensity mean within tissue
FOS.append(np.std(graylevelarray)) # standard deviation
FOS.append(np.var(graylevelarray)) # variance
FOS.append(stats.kurtosis(graylevelarray)) # kurtosis
FOS.append(stats.skew(graylevelarray)) # skewness
return(np.array(FOS))
def main():
parser = argparse.ArgumentParser(description="First order statistics based features calculation")
parser.add_argument('-f',dest = "filename",required=True, help="input file with image matrix",metavar="FILE")
args = parser.parse_args()
Img = np.genfromtxt(args.filename,dtype=float,delimiter=',')
Img = Img.flatten()
# Img_new = Img[Img<np.max(Img)]
result = np.zeros([7,1])
result[:,0] = Firstorderstatistics(Img)
column= np.array(['Nu of pixles','Intensity sum','Intensity mean','Std deviation','variance','kurtosis','skewness'])
df = np.column_stack((column,result))
np.savetxt('FOS_featuresList.csv',df,fmt="%s",delimiter=",")
if __name__ == '__main__':
main()