Algorithm 1.
Data: I - testing CT scan, ๐ - learned multi-task random ย ย forest, and ๐ฎinit - initialized shape model | |||
Result: ๐ฎ - the final segmentation | |||
Notation:
World2Voxel(I, p) outputs voxel coordinate of vertex p on image I, ๐(I, x) returns the 3D displacement of voxel x on the image I, and ฮ (K) denotes valid transform matrix set under transform type | |||
K | |||
Subroutine Deform(I, ๐, ๐ฎ, K) | |||
for Iteration โ 1 to MaxIteration do | |||
๐ฎdeform = ๐ฎ | |||
foreach vertex p โ ๐ฎdeform do | |||
x = World2Voxel(I, p) | |||
p = p + ๐(I, x) | |||
end | |||
if K โ {Translation, Rigid, Affine} then | |||
Estimate transform matrix T โ โ4ร4: ย ย argminTโT (๐ฎ) โ ๐ฎdeformโ2, s.t., T โ ฮ (K) |
|||
๐ฎ = T (๐ฎ) | |||
else | |||
๐ฎ = SmoothSurface(๐ฎdeform) | |||
๐ฎ = RemeshSurface(๐ฎ) | |||
end | |||
end | |||
return ๐ฎ | |||
Algorithm HierarchicalDeform (I, ๐, ๐ฎinit) | |||
๐ฎ =Deform(I, ๐, ๐ฎinit, โTranslationโ) | |||
๐ฎ =Deform(I, ๐, ๐ฎ,ย ย โRigidโ) | |||
๐ฎ =Deform(I, ๐, ๐ฎ,ย ย โAffineโ) | |||
๐ฎ =Deform(I, ๐, ๐ฎ,ย ย โFreeFormโ) | |||
return ๐ฎ |