2016-06-15 27 views
6

Tôi đang sử dụng openslide-python để mở hình ảnh svs, và tôi đã chạy vào các vấn đề sau:không được hỗ trợ TIFF nén

>> import openslide as osi 
>> a = osi.OpenSlide('image.svs') 

mang lại các lỗi

TIFFReadDirectory: Warning, Unknown field with tag 347 (0x15b) encountered. 
image.svs: JPEG compression support is not configured. 
Traceback (most recent call last): 
    File "<stdin>", line 1, in <module> 
    File "/home/manan/anaconda/lib/python2.7/site-packages/openslide/__init__.py", line 154, in __init__ 
    self._osr = lowlevel.open(filename) 
    File "/home/manan/anaconda/lib/python2.7/site-packages/openslide/lowlevel.py", line 178, in _check_open 
    raise OpenSlideError(err) 
openslide.lowlevel.OpenSlideError: Unsupported TIFF compression: 7 

tôi đã không thể tìm mọi giải pháp trực tuyến cho vấn đề này; Tôi đã kiểm tra libopenjpeg và bất kỳ thư viện bổ sung có liên quan nào để đảm bảo chúng nằm trong các phiên bản tương ứng mới nhất của chúng.

+0

Bạn có thể muốn nộp một vấn đề tại [theo dõi vấn đề của họ] (https://github.com/openslide/openslide -python/issues). – Trilarion

+2

Có vẻ như định dạng svs là biến thể của TIFF chuẩn. Nếu trường hợp đó xảy ra, tệp TIFF có thể chứa hình ảnh của các loại nén khác nhau. Nếu các tệp svs khác hoạt động nhưng không phải tệp này, vấn đề có thể liên quan đến việc nén. Để biết thêm chi tiết về các loại phụ nén TIFF, hãy xem câu trả lời cho bài đăng này: http://stackoverflow.com/questions/28355389 –

+2

Vui lòng cung cấp môi trường đang chạy có nghĩa là hệ điều hành và các phiên bản libtiff, libjpeg –

Trả lời

5

Nếu bạn nhìn vào các mã: https://github.com/openslide/openslide/blob/7b99a8604f38280d14a34db6bda7a916563f96e1/src/openslide-vendor-generic-tiff.c#L222-L226

if (!TIFFIsCODECConfigured(compression)) { 
    g_set_error(err, OPENSLIDE_ERROR, OPENSLIDE_ERROR_FAILED, 
       "Unsupported TIFF compression: %u", compression); 
    goto FAIL; 
} 

Bạn sẽ thấy rằng nó sử dụng libtiff: chức năng TIFFIsCODECConfigured được cung cấp bởi libtiff thư viện cơ bản (xem man page).

Thẻ nén được đặt thành 7; đây là sơ đồ nén JPEG ('new-style' JPEG) được hỗ trợ không phổ biến - đôi khi còn được gọi là JPEG-in-TIFF; mà bạn cần cài đặt codec cho.

Nếu bạn vẫn có các trang trình bày và được sử dụng, ví dụ: Kodak Imaging, sau đó bạn có thể quét chúng lại với một nén khác; nhưng đó sẽ là một cách quay trở lại. Nó có thể là dễ dàng hơn để thử và thêm codec và kích hoạt nó trong libtiff.

Từ libtiff documentation:

Hỗ trợ nén JPEG được điều khiển bởi JPEG_SUPPORT. Bộ giải mã JPEG đi kèm với libtiff được thiết kế để sử dụng với bản phát hành 5 hoặc mới hơn của bản phân phối phần mềm tự do của Independent JPEG Group. Phần mềm này có thể được lấy từ thư mục ftp.uu.net:/graphics/jpeg/.

Vì vậy, hỗ trợ là tùy chọn và bạn có thể cần phải xây dựng lại libtiff (xem instructions).

Theo hỗ trợ JPEG mặc định chưa được định cấu hình.

Tài liệu tham khảo:

+0

Cảm ơn bạn đã có câu trả lời được nghiên cứu tuyệt vời! –

Các vấn đề liên quan