TRAKO项目:DTI流线的压缩。

trako的Python项目详细描述


特拉科

Trako压缩从.vtp到更小的.tko文件的DTI流线型!

作为PyPI包安装(推荐,最好是在virtualenv中)

pip install trako

使用

./trakofy -i DATA/example.vtp -o /tmp/test.tko
./untrakofy -i /tmp/test.tko -o /tmp/restored.vtp
./tkompare -a DATA/example.vtp -b /tmp/restored.vtp

弥散张量成像(DTI)可以估计大脑的白质束。然后,光纤跟踪方法会产生三维光纤束的流线簇。这些纤维束中的每根纤维都是一条带有X、Y、Z坐标(浮点数)的线,但研究人员可能会在每个坐标(每个顶点)上附加许多不同的标量。每个标量可以是任意维度、大小和数据类型。研究人员还可以将许多不同的属性值附加到各个流线(每根光纤)上。添加标量和属性可以生成大型流线型文件。在

Trako是一种新的文件格式,它通过压缩将流线和相关的逐顶点和每光纤数据存储为glTF容器。我们使用Draco算法压缩X、Y、Z坐标、标量和属性。在

自定义参数

Trako允许详细配置编码参数。可以在JSON文件中配置自定义项,以便为不同的属性指定不同的参数。在

我们包括一个示例配置DATA/test.conf。在

^{pr2}$

此配置配置一个名为RTOP2的标量,其比特率高于其他属性。还可以使用通用配置(例如,降低所有属性的量化比特率),如下所示:

{
    
  '*': {
    'position':False,
    'sequential':True,
    'quantization_bits':11,
    'compression_level':1,
    'quantization_range':-1,
    'quantization_origin':None
  }

}

该配置仅在压缩过程中相关,可按如下方式使用:

./trakofy -i DATA/example.vtp -o /tmp/test.tko -c DATA/test.conf

实验

我们比较了Trako和常见的流线型文件格式(VTK,TrackVis)对两个受试者的数据,每个对象有800个光纤簇。数据包括多个每光纤和逐顶点标量值。Trako的平均压缩比为3.2,并将数据大小从2974兆字节减少到941兆字节。在

我们还使用Trako压缩了一个包含153537条流线的全脑束描记数据集。Trako将数据大小从543兆字节减少到267兆字节(压缩系数为2.02)。在

使用默认参数,Trako对位置数据和每个顶点/每光纤标量值使用有损压缩,平均相对损耗小于0.0001(除了RGB值作为EmbeddingColor)。我们在两个单独的大脑纤维束造影数据集上显示了两个受试者的相对丢失信息。在

使用WebGL进行可视化

我们提供JavaScript解析器来可视化Trako(.TKO)文件三.js, Vtk.js公司,还有XTK。在

而且,SliceDrop也支持Trako!只需在浏览器中拖放.TKO文件即可查看。在

开发者安装(附带测试数据)

安装Miniconda或Anaconda后,请执行以下步骤:

# create environment
conda create --name TRAKO python=3.6
conda activate TRAKO

# get TRAKO
git clone git@github.com:haehn/TRAKO.git
cd TRAKO

python setup.py install

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java Intellij和Eclipse无法找到库工件   java Mapbox Android Symbolayer重置筛选器   java如何在顶部显示特定的recyclerview项?   java如何在Hibernate中使用@Qualifier   我想计算特定文本webdriver java在多个页面上可用的HTML表中的数据   java捕获Spring MVC REST服务抛出的Jersey REST客户端的异常   java Hibernate flush()影响事务   密钥绑定Java密钥绑定   sonarqube java,sonar,圈复杂度   使用3DES在Java中加密,在SQL Oracle中解密   regex正则表达式在regex101上工作。com,但不是prod   JAVAsql。SQLException:ORA00600:内部错误代码,参数:[12811],[93233]   java H2数据库存储在哪里?   java如何避免在使用Jackson时从JSON字符串反序列化空JSON数组元素