zoukankan      html  css  js  c++  java
  • 3D Slicer PLUS

    1.configuration file包含的XML元素

    • Version Major版本号
    • PlusRevision创建配置文件更加详细的plus版本
    • Data collection :定义所有用于采集和处理数据的设备Coordinate system definition坐标系定义(固定变换矩阵列表)(见2)
      • StartupDelaySec:开始使用各种采集设备之前,留有充足的时间初始化。
      • DeviceSet
        • Name 设备名称,如NDI Polaris...
        • Description设备描述
      • Device
        • Type设备类型
        • AcquisitionRate采集率
        • LocalTimeOffsetSec
        • MissingInputGracePeriodSec初始设备多久后,不再报missinginput是个错误
        • ToolReferenceFrame工具参考坐标系
        • ReportUnknownToolsOnceWhen 
        • InputChannels该设备采集需要的输入通道列表(每个输入通道就是另一个设备的输出通道)
        • DataSources数据源
          • DataSource(Id、Type、BufferSize、AveragedItemsForFiltering参与时间戳冗余滤波的的数目、 PortName工具识别、PortUsImageOrientation图像原点、图像类型B超or、ClipRectangleOriginClipping图像裁剪原点、ClipRectangleSizeClipping 图像裁剪尺寸)
        • OutputChannelsList输出通道列表
    • Application elements应用模块
      • Freehand calibration(fCal) setting(单独讨论)
      • Plus sever setting(见3)
    • Algorithm elements算法模块
      • Probe calibration algorithm探头校准算法(单独讨论)
      • Phantom registration algorithm体模注册算法(单独讨论)
      • Pivot calibration algorithm针尖校准算法(单独讨论)
      • Temporal calibration时间校准算法(单独讨论)
      • Volume reconstruction algorithm体重建算法(不讨论)
      • RF processing algorithmRF处理算法(不讨论)
    专业术语注释:
    Device: 一个独立的数据获取或处理单元。每个设备都有自己处理的线程(与其他设备并行运行,负责从输入端读取数据,并提供给输出端) 。
    Data source: 提供一支数据流,既可以是transform也可以是图像流。这个流还包括每个项目的元数据:时间戳、状态(数据是否有效)。
    Channel: 捆绑多个数据源的输出,一个通道可以包含一个图像流+任意数量的跟踪数据流。
    Output channel: 通过输出通道可以为其他设备和算法提供数据。
    Input channel: 一个设备需要从其他设备接收数据。

    2.Coordinate system definition

    格式:
    CoordinateDefinitions
    • Transform
      • From 'From' coordinate frame of the transform
      • To 'To' coordinate frame of the transform
      • Matrix
      • Data
      • Error
    实例:
    1     <Transform From="Tool" To="Tracker"
    2       Matrix="
    3         1    0    0    0
    4         0    1    0    0
    5         0    0    1    0
    6         0    0    0    1"
    7        Date="2012.02.06 17:57:00" Error = 0.05/>
    需要探讨的就是From=“Stylus”  To=“StylusTip” ; From=“Image”  To=“Probe”

    3.Plus sever setting

    格式:
    PlusOpenIGTLinkServer
    •  ListeningPort Port 服务器监听传入连接的端口号,通常为18944
    • OutputChannelId 数据来源通道
    • MaxNumberOfIgtlMessagesToSend每次更新发送出去的最大数量信息,默认100
    • MaxTimeSpentWithProcessingMs每次更新将数据发送给客户端需要的最大时间花销,默认50
    • SendValidTransformsOnly 只发送有效的变换数据,默认TRUE
    • DefaultClientSendTimeoutSe 默认0.5
    • DefaultClientReceiveTimeoutSec 默认0.5
    • IgtlMessageCrcCheckEnabled如果TRUE,那么传入的OpenIGTLink消息只有在其CRC有效时才被接受,默认FALSE
    • DefaultClientInfo 
      • MessageTypes      Message  Type=(IMAGE:图像;TRANSFORM三维变换矩阵;POSITION三维位置数据等)
      • TransformNames   Transform  Name="***"
      • StringNames (不常用)
      • ImageNames          Image     Name=“***”   EmbeddedTransformToFrame ("To" frame of the transform embedded in the IGTL image message)
    实例:
     1 <PlusOpenIGTLinkServer 
     2   MaxNumberOfIgtlMessagesToSend="10" 
     3   MaxTimeSpentWithProcessingMs="50" 
     4   ListeningPort="18944" 
     5   MissingInputGracePeriodSec="5.0"
     6   SendValidTransformsOnly="TRUE" 
     7   OutputChannelId="SomeValidChannel" > 
     8   <DefaultClientInfo> 
     9     <MessageTypes> 
    10       <Message Type="IMAGE" />
    11       <Message Type="TRANSFORM" />
    12     </MessageTypes>
    13     <TransformNames>
    14       <Transform Name="StylusTipToReference" /> 
    15       <Transform Name="ProbeToReference" /> 
    16     </TransformNames>
    17   </DefaultClientInfo>
    18 </PlusOpenIGTLinkServer>

    4.FQA

    如何利用多种设备收集数据(如图像流、跟踪数据流)?
    1.将所有的硬件设备采集配置放在<DataCollection>域内;
    2.添加Virtual Mixer设备,创建一个新的通道,包含所有硬件设备的输出信息;
    一般情况下,一个Mixer设备就足够了,但是为了防止多个通道分别包含不同的内容,可以添加使用多个Mixer设备。
    1     <Device Id="TrackedVideoDevice" Type="VirtualMixer" >
    2       <InputChannels>
    3         <InputChannel Id="TrackerStream" />
    4         <InputChannel Id="VideoStream" />
    5       </InputChannels>
    6       <OutputChannels>
    7         <OutputChannel Id="TrackedVideoStream"/>
    8       </OutputChannels>
    9     </Device>

    5.References

    https://app.assembla.com/spaces/plus/wiki
  • 相关阅读:
    Python replace()方法
    QQ传输协议分析
    子网与子网掩码的介绍
    每天撸点Linux
    对一次ARP欺骗分析
    中转注入
    第五篇学习笔记
    第四篇学习笔记
    第三篇学习笔记
    第二篇学习笔记
  • 原文地址:https://www.cnblogs.com/ybqjymy/p/14235621.html
Copyright © 2011-2022 走看看