Algorithm 1.
Automatic trachea extraction algorithm
Require: 𝒯 MinRadius, MaxRadius. {𝒯 = Empirically determined thresh-old on the rate of change of volume per unit step. MinRadius/ MaxRa dius = Empirically determined minimum/maximum expected radius of the trachea region along the axial axis.} |
1: for i = 1 to # of slices along axial plane do |
2: circles=HoughTranform(slice(i)) |
3: for j = 1 to # of circles do |
4: if radius(circles(j))>MinRadius and radius(circles(j))<MaxRadius then |
5: TracheaRegion = circles(j) |
6: BREAK |
7: end if |
8: end for |
9: end for |
10: FCMap = DoFC(TracheaRegion) |
11: τ=max(FCMap) |
12: repeat |
13: TracheaSeg=Threshold(FCMap, τ) |
14: if Volume(TracheaSeg)> 30cm3 or (Volume(TracheaSeg)-Volume(PrevTracheaSeg))> 𝒯 then |
15: return PrevTracheaSeg |
16: else |
17: PrevTracheaSeg = TracheaSeg |
18: τ–– |
19: end if |
20: until τ > 0 |