Blame view

python/train-pca.py 1.76 KB
5f3cba02   David Mayerich   initial public co...
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
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
  import sys, string, os, subprocess
  
  os.system("cls")
  
  infile = sys.argv[1]
  
  A = "class/coll.bmp "
  B = "class/epith.bmp "
  C = "class/fibro.bmp "
  D = "class/lymph.bmp "
  E = "class/myo.bmp "
  F = "class/necrosis.bmp "
  G = "class/blood.bmp "
  
  Ca = "magenta "
  Cb = "lime "
  Cc = "pink "
  Cd = "purple "
  Ce = "yellow "
  Cf = "orange "
  Cg = "maroon "
  
  #Baseline correction using a set of wavenumber points specified in baseline.txt
  subprocess.call("hsiproc " + infile + " " + infile + "-base --baseline baseline.txt")
  
  #Create a mask to be used later for PCA
  subprocess.call("hsiproc " + infile + "-base mask.bmp --build-mask 1650 0.1")
  
  #Convert to a BIP file. This is generally the fastest file to use, algorithmically.
  subprocess.call("hsiproc " + infile + "-base " + infile + "-bip --convert bip")
  
  #sift
  subprocess.call("hsiproc " + infile + "-bip " + infile + "-sift --sift mask.bmp")
  
  #Normalize to Amide I
  subprocess.call("hsiproc " + infile + "-sift " + infile + "-norm --normalize 1650")
  
  #Calculate the principle components
  subprocess.call("hsiproc " + infile + "-norm " + infile + ".sta --pca")
  
  #project onto the PCs
  subprocess.call("hsiproc " + infile + "-norm " + infile + "-pca --project pca.sta 30")
  
  #unsift
  subprocess.call("hsiproc " + infile + "-pca " + infile + "-unsift --unsift mask.bmp")
  
  #convert back to BSQ
  subprocess.call("hsiproc " + infile + "-unsift " + infile + "-final --convert bsq")
  
  #Baseline correction using a set of wavenumber points specified in baseline.txt
  subprocess.call("hsiclass " + infile + "-final " + infile + ".rf --train " + A + B + C + D + E + F + G)
  
  #classify the entire image
  subprocess.call("hsiclass " + infile + "-final " + infile + "-class.bmp " + "--classify classifier.rf --colors " + Ca + Cb + Cc + Cd + Ce + Cf + Cg + "--mask mask.bmp --verbose")