не может открывать файлы TIFF, сжатые таким образом (2) - imageJ / FIJI

У меня есть два набора изображений, сгенерированных из MATLAB - один набор - это когда я вручную сохраняю из окна рисунка в файл tif, а другой набор имеет изображения, сохраненные в формате tif с помощью функции imwrite в MATLAB.

Когда я пытаюсь использовать первый набор изображений для выполнения некоторых операций на Фиджи (Изображение J), он работает, но когда я пытаюсь сделать то же самое во втором наборе, я получаю сообщение об ошибке: «Невозможно открыть файлы TIFF, сжатые таким образом (2 ) '. Есть ли плагин, который мне нужно установить?

imfinfo для первого набора - создается с помощью saveas tif из окна рисунка:

Filename: [1x68 char]
              FileModDate: [1x20 char]
                 FileSize: 51376
                   Format: 'tif'
            FormatVersion: []
                    Width: 719
                   Height: 477
                 BitDepth: 24
                ColorType: 'truecolor'
          FormatSignature: [1x4 double]
                ByteOrder: [1x13 char]
           NewSubFileType: 0
            BitsPerSample: [8 8 8]
              Compression: 'PackBits'
PhotometricInterpretation: 'RGB'
             StripOffsets: [69x1 double]
          SamplesPerPixel: 3
             RowsPerStrip: 7
          StripByteCounts: [69x1 double]
              XResolution: 96
              YResolution: 96
           ResolutionUnit: 'Inch'
                 Colormap: []
      PlanarConfiguration: 'Chunky'
                TileWidth: []
               TileLength: []
              TileOffsets: []
           TileByteCounts: []
              Orientation: 1
                FillOrder: 1
         GrayResponseUnit: 0.0100
           MaxSampleValue: [1x3 double]
           MinSampleValue: [0 0 0]
             Thresholding: 1
                   Offset: 50592
         ImageDescription: [1x22 char]

imfinfo для второго набора - создан imwrite. imwrite (bw, fullfile (имя файла), 'tiff');

 Filename: [1x75 char]
              FileModDate: [1x20 char]
                 FileSize: 25586
                   Format: 'tif'
            FormatVersion: []
                    Width: 832
                   Height: 587
                 BitDepth: 1
                ColorType: [1x9 char]
          FormatSignature: [1x4 double]
                ByteOrder: [1x13 char]
           NewSubFileType: 0
            BitsPerSample: 1
              Compression: [1x8 char]
PhotometricInterpretation: [1x11 char]
             StripOffsets: [66x1 double]
          SamplesPerPixel: 1
             RowsPerStrip: 9
          StripByteCounts: [66x1 double]
              XResolution: 72
              YResolution: 72
           ResolutionUnit: 'Inch'
                 Colormap: []
      PlanarConfiguration: 'Chunky'
                TileWidth: []
               TileLength: []
              TileOffsets: []
           TileByteCounts: []
              Orientation: 1
                FillOrder: 1
         GrayResponseUnit: 0.0100
           MaxSampleValue: 1
           MinSampleValue: 0
             Thresholding: 1
                   Offset: 24868

person Sai Chetan    schedule 12.04.2013    source источник
comment
Можете ли вы показать оператор imwrite, используемый для создания этих изображений?   -  person yuk    schedule 12.04.2013
comment
imwrite (bw, fullfile (имя файла), 'tiff');   -  person Sai Chetan    schedule 12.04.2013


Ответы (2)


Я не уверен, что вы получили ответ. У меня была аналогичная проблема. Попробуйте сохранить файл с помощью:

imwrite(bw,fullfile(filename),'tiff', 'Compression','none');

или попробуйте сжатие с помощью packbits

imwrite(bw,fullfile(filename),'tiff', 'Compression','packbits');
person chans    schedule 02.05.2013
comment
Я понял. Спасибо! - person Sai Chetan; 08.05.2013

Попробуйте этот плагин для ImageJ - IJ Plugins: Image I / O.


ИЗМЕНИТЬ

Похоже, ваше изображение двоичное (BitDepth = 1). IMWRITE по умолчанию сохраняет двоичное изображение в формате TIFF со сжатием ccitt. Такие изображения не поддерживаются IMageJ. (См., Например, этот поток по возможной причине).

Если вам нужно сохранить изображения с помощью imwrite, попробуйте установить BitDepth на 24 и Compression на packbits. Сравните другие поля в imfinfo выходах и при необходимости используйте другие поля в imwrite.

person yuk    schedule 12.04.2013
comment
Можете ли вы открыть эти изображения вне MATLAB? Пожалуйста, также покажите imfinfo вывод для этих изображений. Обновите свой вопрос, если у вас будет дополнительная информация. - person yuk; 12.04.2013
comment
Да, я могу их открыть. Пожалуйста, проверьте imfinfo. Обновил в вопросе. - person Sai Chetan; 12.04.2013
comment
Параметр сжатия для пакетов в imwrite, похоже, работает (я не получаю предыдущую ошибку), но теперь он говорит: java.io.EOFException IJ.openImage () вернул null: C: \ Original Image data \ Input Images \ 71578- sample2.tif. Я делаю что-то неправильно? Теперь у меня есть двоичные изображения tif из MATLAB, сохраненные как tiff при сжатии, поддерживаемом Image J, но что означает «возвращенный нуль»? - person Sai Chetan; 13.04.2013