US Volumes

Tracked frames to reconstructed volumes

Matt McCormick, Kitware, Inc

MetaIO

  • Open source library developed by Stephen
  • Simple get elegant, beloved medical file format
  • Header and N-dimensional binary data
  • Header extensible with additional fields

Plus MetaImage

ObjectType = Image
NDims = 3
AnatomicalOrientation = RAI
BinaryData = True
BinaryDataByteOrderMSB = False
CenterOfRotation = 0 0 0
CompressedData = True
CompressedDataSize = 1802031          
DimSize = 820 616 268                              
ElementSpacing = 1 1 1
ElementType = MET_UCHAR
Offset = 0 0 0
TransformMatrix = 1 0 0 0 1 0 0 0 1
UltrasoundImageOrientation = MF
Seq_Frame0000_ProbeToTrackerTransform = 0.988801 0.105956 0.105093 -277.41 -0.122832 0.977775 0.169906 85.882 -0.0847552 -0.180913 0.97984 -1697.67 0 0 0 1 
Seq_Frame0000_ProbeToTrackerTransformStatus = OK
Seq_Frame0000_ReferenceToTrackerTransform = -0.0833399 0.992747 0.0866453 -292.678 -0.979454 -0.0976254 0.176464 60.6673 0.183643 -0.0701586 0.980486 -1761.41 0 0 0 1
Seq_Frame0000_ReferenceToTrackerTransformStatus = OK
Seq_Frame0000_StylusToTrackerTransform = 1 1.4506e-005 3.06353e-005 0.0546922 -1.45149e-005 1 2.99415e-005 0.0470085 -3.06905e-005 -2.98411e-005 1 -0.00499761 0 0 0 1 
Seq_Frame0000_StylusToTrackerTransformStatus = INVALID
Seq_Frame0000_Timestamp = 307.382842
Seq_Frame0000_ImageStatus = OK
Seq_Frame0001_ProbeToTrackerTransform = 0.989025 0.103772 0.10517 -277.065 -0.120884 0.977622 0.172176 86.4167 -0.0849487 -0.183 0.979436 -1697.29 0 0 0 1 
Seq_Frame0001_ProbeToTrackerTransformStatus = OK
Seq_Frame0001_ReferenceToTrackerTransform = -0.0836254 0.99269 0.0870307 -292.647 -0.979266 -0.0980368 0.177278 60.6715 0.184515 -0.0704012 0.980305 -1761.51 0 0 0 1
					

Sequence

VolumeReconstruction.xml


<PlusConfiguration version="2.1">

  <CoordinateDefinitions>
    <!--<Transform From="Image" To="Probe" -->
    <!--Matrix="-0.00157821  0.0785919   -0.00803285  15.3978 -->
            <!---0.0839128   0.00372697   0.0153803   49.5705 -->
             <!--0.0159024   0.00714276   0.0803604   -8.63446 -->
             <!--0           0            0            1"-->
      <!--Error="1.68149" Date="022312_110631"-->
    <!--/>-->
    <!--<Transform From="Phantom" To="Reference"-->
      <!--Matrix="-0.0263954   0.0123051   -0.999576    11.9823 -->
               <!--0.0167829   0.999789     0.0118645  -37.1153 -->
               <!--0.999511   -0.0164626   -0.0265963  -85.3543 -->
               <!--0           0            0            1" -->
      <!--Error="1.87619" Date="022312_110322"-->
    <!--/>-->
  </CoordinateDefinitions>

  <VolumeReconstruction
    Calculation="WEIGHTED_AVERAGE"
    SkipInterval="1"
    OutputOrigin="0.0 0.0 0.0"
    OutputSpacing="0.5 0.5 0.5"
    ClipRectangleOrigin="160 100"
    ClipRectangleSize="320 430"
    ImageCoordinateFrame="Probe"
    ReferenceCoordinateFrame="Tracker"
    Interpolation="LINEAR"
    Optimization="FULL"
    Compounding="On"
    FillHoles="On">
    <HoleFilling>
      <HoleFillingElement
        Type="STICK"
        StickLengthLimit="9"
        NumberOfSticksToUse="1" />
    </HoleFilling>
  </VolumeReconstruction>

</PlusConfiguration>
					

Reconstruction

Improvements

  • Remove deplicate frames
  • Account for tracker error
  • Mark frames with poor contact invalid