in main/src/image-preprocessing/image-preprocessing.py [0:0]
def findCentersFromLabels(labels):
centers=[]
maxLabel=labels.max()
labelCounts=np.zeros(shape=(maxLabel+1), dtype=np.int)
labelPositions=[]
for d in range(len(labels.shape)):
labelPositions.append(np.zeros(shape=(maxLabel+1), dtype=np.int))
for idx, v in np.ndenumerate(labels):
labelCounts[v] += 1
ix=0
for iv in idx:
labelPositions[ix][v] += iv
ix += 1
for lp in range(maxLabel+1):
# Skip background
if (lp!=0):
if (labelCounts[lp]>=minvoxels):
ca = []
ca.append(lp)
ca.append(labelCounts[lp])
for d in range(len(labels.shape)):
na = labelPositions[d]
ca.append(na[lp]/labelCounts[lp])
centers.append(ca)
return centers