"快速RLE解码器/编码器的Python绑定,重点在于作为pylibjpeg的插件使用"
项目描述
pylibjpeg-rle
适用于pylibjpeg(《PackBits》)的快速DICOM(RLE)插件,用Rust编写,并带有Python 3.7+包装器。
支持Linux、MacOS和Windows。
安装
安装当前版本
pip install pylibjpeg-rle
安装开发版本
请确保已安装Python、Git和Rust。对于Windows,您还需要安装Microsoft的C++构建工具。
git clone https://github.com/pydicom/pylibjpeg-rle
cd pylibjpeg-rle
python -m pip install .
支持的传输语法
UID | 描述 | 解码 | 编码 |
---|---|---|---|
1.2.840.10008.1.2.5 | RLE无损 | 是 | 是 |
使用方法
解码
与pylibjpeg一起使用
from pydicom import dcmread
from pydicom.data import get_testdata_file
ds = dcmread(get_testdata_file("OBXXXX1A_rle.dcm"))
arr = ds.pixel_array
与pydicom独立使用
或者您可以使用包含的函数解码给定的数据集
from rle import pixel_array, generate_frames
# Return the entire Pixel Data as an ndarray
arr = pixel_array(ds)
# Generator function that only processes 1 frame at a time,
# may help reduce memory usage when dealing with large Pixel Data
for arr in generate_frames(ds):
print(arr.shape)
编码
与pydicom独立使用
将未压缩的像素数据转换为RLE编码并保存
from pydicom import dcmread
from pydicom.data import get_testdata_file
from pydicom.uid import RLELossless
from rle import pixel_data
# Get the uncompressed pixel data
ds = dcmread(get_testdata_file("OBXXXX1A.dcm"))
arr = ds.pixel_array
# RLE encode and encapsulate `arr`
ds.PixelData = pixel_data(arr, ds)
# Set the correct *Transfer Syntax UID*
ds.file_meta.TransferSyntaxUID = RLELossless
ds.save_as('as_rle.dcm')
基准测试
解码
每次解码1000次的时间,pydicom默认的RLE处理程序与pylibjpeg-rle
数据集 | 像素 | 字节 | pydicom | pylibjpeg-rle |
---|---|---|---|---|
OBXXXX1A_rle.dcm | 480,000 | 480,000 | 4.89秒 | 0.79秒 |
OBXXXX1A_rle_2frame.dcm | 960,000 | 960,000 | 9.89秒 | 1.65秒 |
SC_rgb_rle.dcm | 10,000 | 30,000 | 0.20秒 | 0.15秒 |
SC_rgb_rle_2frame.dcm | 20,000 | 60,000 | 0.32秒 | 0.18秒 |
MR_small_RLE.dcm | 4,096 | 8,192 | 0.35秒 | 0.13秒 |
emri_small_RLE.dcm | 40,960 | 81,920 | 1.13秒 | 0.28秒 |
SC_rgb_rle_16bit.dcm | 10,000 | 60,000 | 0.33秒 | 0.17秒 |
SC_rgb_rle_16bit_2frame.dcm | 20,000 | 120,000 | 0.56秒 | 0.21秒 |
rtdose_rle_1frame.dcm | 100 | 400 | 0.12秒 | 0.13秒 |
rtdose_rle.dcm | 1,500 | 6,000 | 0.53秒 | 0.26秒 |
SC_rgb_rle_32bit.dcm | 10,000 | 120,000 | 0.56秒 | 0.19秒 |
SC_rgb_rle_32bit_2frame.dcm | 20,000 | 240,000 | 1.03秒 | 0.28秒 |
编码
每次编码1000次的时间,pydicom默认的RLE处理程序与pylibjpeg-rle
数据集 | 像素 | 字节 | pydicom | pylibjpeg-rle |
---|---|---|---|---|
OBXXXX1A.dcm | 480,000 | 480,000 | 30.7秒 | 1.36秒 |
SC_rgb.dcm | 10,000 | 30,000 | 1.80秒 | 0.09秒 |
MR_small.dcm | 4,096 | 8,192 | 2.29秒 | 0.04秒 |
SC_rgb_16bit.dcm | 10,000 | 60,000 | 3.57秒 | 0.17秒 |
rtdose_1frame.dcm | 100 | 400 | 0.19秒 | 0.003秒 |
SC_rgb_32bit.dcm | 10,000 | 120,000 | 7.20秒 | 0.33秒 |
项目详情
下载文件
下载适用于您的平台的文件。如果您不确定要选择哪个,请了解有关安装软件包的更多信息。
源分布
pylibjpeg_rle-2.0.0.tar.gz (27.4 kB 查看散列值)
构建分布
pylibjpeg_rle-2.0.0-cp312-none-win32.whl (134.1 kB 查看散列值)
pylibjpeg_rle-2.0.0-cp311-none-win32.whl (134.1 kB 查看哈希值)
pylibjpeg_rle-2.0.0-cp310-none-win32.whl (134.1 kB 查看哈希值)
pylibjpeg_rle-2.0.0-cp39-none-win_amd64.whl (138.2 kB 查看哈希值)
pylibjpeg_rle-2.0.0-cp39-none-win32.whl (134.1 kB 查看哈希值)
pylibjpeg_rle-2.0.0-cp38-none-win_amd64.whl (138.1 kB 查看散列值)
pylibjpeg_rle-2.0.0-cp38-none-win32.whl (134.0 kB 查看散列值)
关闭
pylibjpeg_rle-2.0.0.tar.gz的散列值
算法 | 散列值 | |
---|---|---|
SHA256 | 8ab064af408c0043dcd8ef1fbf1e490b3596065addd537c23623eaaba6fd8785 |
|
MD5 | 09b551956755793387316d578eba4f79 |
|
BLAKE2b-256 | 0ec8ad11b853b3abb55adf5393e4cfc36925a2f0f7191c50394286cf221acc92 |
关闭
pylibjpeg_rle-2.0.0-cp312-none-win_amd64.whl的散列值
算法 | 散列值 | |
---|---|---|
SHA256 | 969e529d945aff61ee3172f810954e5226cf75dceb27af132da1e3a7b18a42d0 |
|
MD5 | fcb70fbd894d47b20ce73c037ea9d538 |
|
BLAKE2b-256 | 7ce5b7d7c5c65ce09f7fff730dd4ec925136c49aeaedda962e94f1f653fcbc5b |
关闭
pylibjpeg_rle-2.0.0-cp312-none-win32.whl的散列值
算法 | 散列值 | |
---|---|---|
SHA256 | 20bc5f5623379c98657ab3251cfe6beced6c38a297c7ad913ff3750ce8b64b09 |
|
MD5 | 8cfd59c3fda3230414b2d694bf1489fa |
|
BLAKE2b-256 | 99eb0b1a4107c9b2e7090976f315329aee2cc3cbe0e9c41359258ed8ed1d7e5a |
关闭
哈希值 用于 pylibjpeg_rle-2.0.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
算法 | 散列值 | |
---|---|---|
SHA256 | 936cfa67b398549c17991b53f79fba7bc10a64fafd63861eed5ea14eee59d474 |
|
MD5 | 4cfb5538f5aff811b771af1f8be3a6ef |
|
BLAKE2b-256 | 174d2e62a0b13871b7022be2f8f06f0470fa62594320871fb8ffb20da915cce4 |
关闭
哈希值 用于 pylibjpeg_rle-2.0.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
算法 | 散列值 | |
---|---|---|
SHA256 | be018cb337716b3b23ce8648eabf45224fedca43b5df7492eb212b2c36cc5ba1 |
|
MD5 | 390d058c3aec1013d5b2e9ec9d89b687 |
|
BLAKE2b-256 | be77194075a714421622cc8e9f30575dc24bc3ba74489c230a8a4afde7a97ede |
关闭
哈希值 用于 pylibjpeg_rle-2.0.0-cp312-cp312-macosx_11_0_arm64.whl
算法 | 散列值 | |
---|---|---|
SHA256 | f8b3bda2f6fb9d74b025756cd9e6d09eec2292898ea58f56fea7a7db6578542c |
|
MD5 | 34cce876f8307f5ffb3ef05b3618eb78 |
|
BLAKE2b-256 | a5b26834d8baf34574ee92b2f44291c4122aff3871b2944efb31d933cdc84e42 |
关闭
哈希值 用于 pylibjpeg_rle-2.0.0-cp312-cp312-macosx_10_12_x86_64.whl
算法 | 散列值 | |
---|---|---|
SHA256 | cd31a93db079e580baa00345a8328a4397054d9193e12cebcc3f1e9df1c64feb |
|
MD5 | 52df716b3896ab04a92ea5dbcbe86c42 |
|
BLAKE2b-256 | 9855fc4e5545d3755907bf6ba59b17d18d7bede14577b1bf2ace13cc5b2cb410 |
关闭
哈希值 用于 pylibjpeg_rle-2.0.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
算法 | 散列值 | |
---|---|---|
SHA256 | 2752d91c9a46f86c5fc523156114e8fdda1be04a853199198c62aa9f7a8b8490 |
|
MD5 | d984a456fc205e0f586db3de4d798b0f |
|
BLAKE2b-256 | e99aca6e40bdeeb73b548e207788621bbb60a9e2b15278411f2ed0c51db58f1b |
关闭
哈希值 用于 pylibjpeg_rle-2.0.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
算法 | 散列值 | |
---|---|---|
SHA256 | 8c8ea83490c74e4b35de0f8541303e94057d739f7b5c3b43456672e4924c6a9c |
|
MD5 | 4559c0d155cea2e607fd54399b4ed414 |
|
BLAKE2b-256 | 088e2580058f5ecb201439978061942c761182552e10fce5f5cae5d02a469a5e |
关闭
哈希值 用于 pylibjpeg_rle-2.0.0-cp311-cp311-macosx_11_0_arm64.whl
算法 | 散列值 | |
---|---|---|
SHA256 | b2d54198e72c9403e3b6e5725c535035cb2719a9fdbb8963ef907d1e9ea9c97a |
|
MD5 | 426c36055fb698accac6097e110c55e4 |
|
BLAKE2b-256 | 15bb158cf7fb19880940bbd1b57c0b644639aac5f444905c67dba1762faaab74 |
关闭
哈希值 用于 pylibjpeg_rle-2.0.0-cp311-cp311-macosx_10_12_x86_64.whl
算法 | 散列值 | |
---|---|---|
SHA256 | f283486e7a6cfddd013900e4c820dd83c669a472a3c6112e4873cf864bc42dc5 |
|
MD5 | d7227ad826f045b584fd8f86c231386e |
|
BLAKE2b-256 | 331da57bb7504572aa82de4c29b98ca283fd4b367e3fe9e86557a661c3c6ac51 |
关闭
哈希值 用于 pylibjpeg_rle-2.0.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
算法 | 散列值 | |
---|---|---|
SHA256 | 088a13d9e456e78c65afa5b76dd7b6ce90cbcde41d30b99dbfa38e81f0da3ff7 |
|
MD5 | 1ecb9e5fb8f9e193d48a728bc5e2361b |
|
BLAKE2b-256 | a0ed8cab56b4bffcbfe29cec551e324510954df13fe58cdf68256393166b6aa5 |
关闭
哈希值 用于 pylibjpeg_rle-2.0.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
算法 | 散列值 | |
---|---|---|
SHA256 | 38c32b4a2fc43273c8aca9941287165b8bef8f41eb9541708073ad49e16ec681 |
|
MD5 | 51f6c2f67f244471b6eb444ed53fba9e |
|
BLAKE2b-256 | 0b01e024bbf5d64c12f7352e085df5978b4b729129dabc893186bd8c204ec094 |
关闭
哈希值 用于 pylibjpeg_rle-2.0.0-cp310-cp310-macosx_11_0_arm64.whl
算法 | 散列值 | |
---|---|---|
SHA256 | 931bcf06fc4030b477384624c8040fb32294d5f688981bf7961562639ad4d327 |
|
MD5 | ec103f8f6b5bcb8ebf437c90334a8da5 |
|
BLAKE2b-256 | 03e988741c9f165d081e07138bcc4de3bb7e12d09843e105b2b4975b8b0aaed4 |
关闭
哈希值 用于 pylibjpeg_rle-2.0.0-cp310-cp310-macosx_10_12_x86_64.whl
算法 | 散列值 | |
---|---|---|
SHA256 | a423f3a4b57d9fbafb09c731f42e06e8f7628fcb8f9ab8cee93ca111b8664c6f |
|
MD5 | 492facfa4f83fcc56bb307870a14923e |
|
BLAKE2b-256 | cd4cdb0f58a94550bc3f1e0726d7784806e4bc3791b3a3a6f4354e2331f7601a |
关闭
哈希值 用于 pylibjpeg_rle-2.0.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
算法 | 散列值 | |
---|---|---|
SHA256 | 44c297414b32b998b4f61261cb6e851a93b384b88294adc1d354d611247a08a3 |
|
MD5 | 8430ca9890f052a96ff66f7473e89127 |
|
BLAKE2b-256 | bf510b840cd12c73746b273d6fe3de2ac4b3ccbbd1acfe3ba9aa81ef5f4edbd5 |
关闭
哈希值 用于 pylibjpeg_rle-2.0.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
算法 | 散列值 | |
---|---|---|
SHA256 | 6f3bd6b69928fc16d655f5f7f0e69144c78b0f9d8bb81940614a6b67d0bec34f |
|
MD5 | bdafcc4de250ecf3049db97694ee8dd1 |
|
BLAKE2b-256 | 68ef865342ff88d1c3245361813ed136fbf692379afa8ac0096c99f041d7689e |
关闭
哈希值 用于 pylibjpeg_rle-2.0.0-cp39-cp39-macosx_11_0_arm64.whl
算法 | 散列值 | |
---|---|---|
SHA256 | 11089f7d0179b185a0c45e2bca2d69f9164cc57da3bc0468ad20a45abbcdf75c |
|
MD5 | 873da07e05aafc90272da00acb868ec0 |
|
BLAKE2b-256 | 18fd69a03a8a3b6c3da1a7ba123cb1cc123dc0a02e0865214408be003379252a |
关闭
哈希值 用于 pylibjpeg_rle-2.0.0-cp39-cp39-macosx_10_12_x86_64.whl
算法 | 散列值 | |
---|---|---|
SHA256 | 750112bbd5020373dfe96f7e8ab7924bdd3353e9145b615ff26cdd270e864f5a |
|
MD5 | e268c6f7e712fb317d115aaa0e95e9ae |
|
BLAKE2b-256 | bdda9ed894ad0b13e65aa3ec1fbfe53c392f45bdf23b1f35f125b6839a85e42e |
关闭
哈希值 用于 pylibjpeg_rle-2.0.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
算法 | 散列值 | |
---|---|---|
SHA256 | 9d370be03b59bf508f071583539797f2f8f431e75f603f7aafd531bb1cff89d2 |
|
MD5 | 8f67e49d5bfa92c5a9a9bcf835c01be6 |
|
BLAKE2b-256 | 6409d9982e8ecaa5d6714be6a2cd08903f9258c2c98a9158d70dc32c4d617165 |
关闭
哈希值 用于 pylibjpeg_rle-2.0.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
算法 | 散列值 | |
---|---|---|
SHA256 | 0af6d865b4ee29204e748c7b2bd41c7384a73b89d2519ee77f2efcdb9d1cae27 |
|
MD5 | 字符串d2792a5aaae9f6e407388ad316eba85b |
|
BLAKE2b-256 | 字符串14f4ca5415bfaf28a5fe528624dcda6d0a68030b26e0efc36375c348ee4eb8c1 |
关闭
哈希值 for pylibjpeg_rle-2.0.0-cp38-cp38-macosx_11_0_arm64.whl
算法 | 散列值 | |
---|---|---|
SHA256 | 字符串012935485c527fcde929c234e859f3398d2b5c5ee41aaaa9ef5fefa78b331bcf |
|
MD5 | 字符串44d636ad1d72b1d90555757f4ec73a58 |
|
BLAKE2b-256 | 字符串f307627a19fc96602026c05361a652cb2ecb92f6b486b6259d8fe46f14e998e1 |
关闭
哈希值 for pylibjpeg_rle-2.0.0-cp38-cp38-macosx_10_12_x86_64.whl
算法 | 散列值 | |
---|---|---|
SHA256 | 字符串3a06ff1ad3144daa78af2f80c811a25c9db185fd22b5830e9649b41b839db9d1 |
|
MD5 | 字符串cce1681dc2bc7e9b29cb60ac346c428b |
|
BLAKE2b-256 | 字符串83940d68cae361ea09a060e986e3531e864cd9ac555412e4aa77e77dbab56c0f |