| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172 |
- import numpy as np
- import matplotlib.pyplot as plt
- import os
- import csv
- import math
- maxPos = 4000 # 8740
- genData = []
- def maxIndex(v):
- return max([n for n, x in enumerate(v) if x > 0])
- pos = 0
- first = True
- cs = []
- xs = []
- ys = []
- pts = [0,100,200,300,400,500,600,700,800,900,1000]
- yss = { k : [] for k in pts }
- with open("mimx.csv") as f:
- for row in csv.reader(f, delimiter=","):
- if first or len(row) < 9:
- first = False
- continue
- n = f"{row[2]}"
- while len(n) < 4:
- n = f"0{n}"
- fileNameImg = f"../Proband {row[0]}/SE00000{row[1]}/{row[0]}_{n}.dcm"
- fileName = f"../Proband {row[0]}/SE00000{row[1]}/{row[0]}_{n}.dcm_blured_histo_diff.npy"
- #print(f"load '{fileName}' -> {pos}", end="\r")
- pos += 1
- cs.append(int(row[8]))
- w = np.load(fileName, allow_pickle=False)
- for k in pts:
- yss[k].append(sum(w[k:k + 100]))
- ys.append(sum(w[:100]))
- xs.append(maxIndex(w))
- #for n, x in enumerate(w):
- # if x > 1000:
- # w[n] = 1000
- #yss[int(row[7])].append(np.log(1 + w))
- ##plt.plot(w)
- plt.scatter(xs,ys,cs)
- plt.savefig(f"graphics/width.pdf")
- plt.close()
- for k in pts:
- for n in [5,4,3,2,1]:
- plt.scatter([x for x, c in zip(xs, cs) if c == n], [x for x, c in zip(yss[k], cs) if c == n])
- plt.savefig(f"graphics/width{k}.pdf")
- plt.close()
- #for n in [3,4,5]:
- # for w in yss[n]:
- # plt.plot(w)
- # plt.savefig(f"graphics/width{n}.pdf")
- # plt.close()
- print()
- print("done")
|