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 |