Skip to main content
. 2018 Apr 6;18(4):1117. doi: 10.3390/s18041117
Algorithm 1 Algorithm for supplementing an object shell voxel map with internal volume voxels
  • 1:

    procedure FillInternalVolume(V)

  • 2:

        for all z axis do

  • 3:

            cnt0

  • 4:

            for all x axis do

  • 5:

               for all y axis do

  • 6:

                   if V(x,y,z)=1 then

  • 7:

                       cntcnt+1

  • 8:

                       if cnt=1 then

  • 9:

                           V1V(x,y,z)

  • 10:

                           y1y

  • 11:

                       else if cnt=2 then

  • 12:

                           if y-y1=Vsize then

  • 13:

                              V1V(x,y,z)

  • 14:

                              y1y

  • 15:

                              cntcnt-1

  • 16:

                           else

  • 17:

                              V2V1

  • 18:

                              V1V(x,y,z)

  • 19:

                              cntcnt+1

  • 20:

                              for yy1,y2 do

  • 21:

                                  V(x,y,z)1

  • 22:

                              end for

  • 23:

                           end if

  • 24:

                       end if

  • 25:

                   else if cnt2 then

  • 26:

                       cnt0

  • 27:

                   end if

  • 28:

               end for

  • 29:

            end for

  • 30:

            cnt0

  • 31:

            for all y axis do

  • 32:

               for all x axis do

  • 33:

                   if V(x,y,z)=1 then

  • 34:

                       cntcnt+1

  • 35:

                       if cnt=1 then

  • 36:

                           V1V(x,y,z)

  • 37:

                           y1y

  • 38:

                       else if cnt=2 then

  • 39:

                           if x-x1=Vsize then

  • 40:

                              V1V(x,y,z)

  • 41:

                              x1y

  • 42:

                              cntcnt-1

  • 43:

                           else

  • 44:

                              V2V1

  • 45:

                              V1V(x,y,z)

  • 46:

                              cntcnt+1

  • 47:

                              for xx1,x2 do

  • 48:

                                  V(x,y,z)1

  • 49:

                              end for

  • 50:

                           end if

  • 51:

                       end if

  • 52:

                   else if cnt2 then

  • 53:

                       cnt0

  • 54:

                   end if

  • 55:

               end for

  • 56:

            end for

  • 57:

        end for

  • 58:

        return V

  • 59:

    end procedure