Изображение сделано из дискретных блоков
blockedImage объект является изображением, сделанным из дискретных блоков. Используйте блокированные изображения, когда изображение или объем будут слишком большими, чтобы поместиться в память. С блокированным изображением можно выполнить обработку, не заканчиваясь память.
blockedImage Только для чтения Объектыbim = blockedImage( создает source)blockedImage объект из заданного источника. Источник может быть массивом в оперативной памяти или именем файла или папкой с данными изображения.
bims = blockedImage( создает массив sources)blockedImage объекты от многочисленных источников. Источник может быть набором файлов или папок с данными изображения. Длина bims равно количеству источников в sources.
___ = blockedImage(___, создает Name,Value)blockedImage объект, с помощью аргументов name-value, чтобы установить свойства объектов.
blockedImage Объектwbim = blockedImage( создает writeable destination,size,blockSize,initialValue,'Mode','w')blockedImage объект в один или несколько уровней разрешения. destination задает местоположение перезаписываемых данных. size указывает на размер изображения на каждом уровне разрешения. initialValue указывает на начальное значение для каждого элемента массива.
source — Источник данных изображенияИсточник данных изображения в виде числового массива, категориального массива, или массива структур, или вектора символов или строкового скаляра, задающего имя файла или папку.
Блокированные изображения поддерживают эти форматы файлов:
Один файл TIFF. Если файл содержит Директории Файла повторного изображения (IFDs), blockedImage возразите обрабатывает IFDs как несколько уровней разрешения.
Любой файл изображения, который может быть считан imread.
Любой источник, созданный адаптерами, включенными с тулбоксом, перечисленным в Adapter.
sources — Источники данных изображенияFileSet объектИсточники данных изображения в виде массива ячеек из символьных векторов, массива строк или FileSet объект.
destination — Местоположение, чтобы поместить writeable данные[] | вектор символов | строковый скалярМестоположение, чтобы поместить перезаписываемые данные в виде вектора символов или строкового скаляра.
| Целевой тип | 'imageFormat' |
|---|---|
| Имя папки (без расширения файла) |
|
| Имя файла с TIF или расширением файла TIFF |
|
| Имя файла с расширением файла H5 |
|
[] |
|
Чтобы задать пользовательский адаптер для других выходных форматов, используйте Adapter свойство.
size — Размер изображения на каждом уровне разрешенияРазмер изображения на каждом уровне разрешения в виде L-by-N матрица положительных целых чисел, где L является количеством уровней разрешения и N, является количеством размерностей изображения. blockedImage возражайте всегда видам size в порядке убывания количеством пикселей, независимо от как Source хранит уровни.
blockSize — Размер блоковРазмер блоков в виде L-by-N матрица положительных целых чисел, где L является количеством уровней разрешения и N, является количеством размерностей.
Если изображение имеет несколько уровней разрешения, то можно задать blockSize как 1 N вектором, чтобы использовать тот же размер блока для всех уровней разрешения.
Пример: [64 128] задает размер блока 64 128 пикселей для одного изображения разрешения
Пример: [128 128; 64 64; 32 32] задает три различных размера блока для трех уровней разрешения
initialValue — Значение элемента по умолчанию для разгруженных блоковПиксельное значение по умолчанию для разгруженных блоков в виде одного из этих значений. Блокированное изображение использует это значение, чтобы заполнить блоки, которые не имеют данных в базовом источнике.
Числовой скаляр. Тип данных initialValue задает значение ClassUnderlying свойство. Значение по умолчанию 0.
категориальный скаляр. Значением по умолчанию является <undefined>.
Скаляр struct с теми же именами полей как данные. Значением по умолчанию является <undefined>.
Adapter — Считайте и запишите интерфейс для блокированного объекта изображенияInMemory возразите | MATBlocks возразите | PNGBlocks возразите | TIFF объект |...Считайте и запишите интерфейс для блокированного объекта изображения в виде одного из этих объектов адаптера.
| Адаптер | Описание |
|---|---|
BINBlocks | Сохраните каждый блок как двоичный файл в папке |
GenericImage
| Сохраните блоки в одном изображении |
GenericImageBlocks | Сохраните каждый блок как файл изображения в папке |
H5 | Сохраните блоки в одном изображении HDF5 |
H5Blocks | Сохраните каждый блок как файл HDF5 в папке |
InMemory | Сохраните блоки в переменной в оперативной памяти |
JPEGBlocks | Сохраните каждый блок как файл JPEG в папке |
MATBlocks | Сохраните каждый блок как файл MAT в папке |
PNGBlocks | Сохраните каждый блок как файл PNG в папке |
TIFF | Сохраните блоки в одном файле TIFF |
Можно также создать собственный адаптер с помощью images.blocked.Adapter класс.
AlternateFileSystemRoots — Альтернативный путь к файловой системеАльтернативный путь к файловой системе для файлов, заданных в источнике в виде массива строк, содержащего одну или несколько строк. Каждая строка задает набор эквивалентных корневых путей.
Пример: ["Z:\datasets", "/mynetwork/datasets"]
Типы данных: char | string | cell
BlockSize — Размер блоковРазмер блоков в виде L-by-N матрица положительных целых чисел, где L является количеством уровней разрешения и N, является количеством размерностей. BlockSize служит размером по умолчанию данных, которые загружаются в оперативную память в любое время для использования. Это - самая маленькая единица информации, которой можно управлять с blockedImage интерфейс. Если вы задаете BlockSize с меньше, чем размерностями N, blockedImage заполняет изображение элементами от Size свойство.
Вы не можете задать это свойство, когда вы задаете Mode как 'w'.
Типы данных: double
ClassUnderlying — Тип пиксельных данныхЭто свойство доступно только для чтения.
Пиксельные данные вводят в виде массива ячеек из символьных векторов, массива строк, массива структур или категориального массива, с элементами L. L является количеством уровней разрешения. Каждым элементом в массиве является тип данных пикселя от уровня соответствующего постановления. Значения: "logical"int8uint8int16uint16int32uint32единственный, и "double".
Типы данных: char | string
InitialValue — Значение элемента по умолчанию для разгруженных блоковcategorical скаляр | structЭто свойство доступно только для чтения.
Значение элемента по умолчанию для разгруженных блоков в виде числового скаляра типа задано ClassUnderlying, categorical значение для категориальных изображений или struct. blockedImage возразите использует это значение, чтобы заполнить блоки, которые не имеют данных в базовом источнике. Значение по умолчанию варьируется типом данных: 0 для числовых типов, <undefined> для категориального, и скалярный struct.
Типы данных: single | double | int8 | int16 | int32 | uint8 | uint16 | uint32 | char | categorical | struct
IOBlockSize — Размер блока ввода-вывода источника изображенияЭто свойство доступно только для чтения.
Размер блока ввода-вывода источника изображения в виде L-by-N матрица положительных целых чисел, где L является количеством уровней разрешения и N, является количеством размерностей. IOBlockSize размер базового размера блока ввода-вывода использование адаптера, чтобы читать из источника изображения. Это представляет самую маленькую единицу информации, которая может быть записана или считана. Это свойство только для чтения отражает формат источника основного изображения.
Примечание
Можно установить BlockSize к любому значению. blockedImage объект делает соответствующее чтение, обрезку, сшивание и кэширование исходных блоков ввода-вывода, чтобы гарантировать эффективный ввод-вывод.
Типы данных: double
Mode — Текущий режим чтения или режим записи'r' (значение по умолчанию) | 'w'Текущий режим чтения или режим записи объекта в виде 'r' для режима чтения и 'w' для режима записи.
Можно только установить Mode к 'w' когда вы создаете объект. Можно изменить значение Mode от 'w' к 'r', в которой точке никакие дальнейшие записи не возможны. Вы не можете изменить Mode от 'r' к 'w'.
При открытии blockedImage в режиме записи необходимо также задать значения для ImageSize, BlockSize, и InitialValue свойства.
Типы данных: char
NumDimensions — Количество размерностей в изображенииЭто свойство доступно только для чтения.
Количество размерностей в изображении в виде положительного целого числа. Для изображений уровня мультиразрешения, которые имеют различное количество размерностей, NumDimensions максимум, взятый через все уровни. Блокированное изображение расширяет другие уровни с одноэлементными размерностями в случае необходимости.
Типы данных: double
NumLevels — Количество уровней разрешения изображенияЭто свойство доступно только для чтения.
Количество уровней разрешения изображения в виде положительного целого числа.
Типы данных: double
Size — Размер изображения на каждом уровнеЭто свойство доступно только для чтения.
Размер изображения на каждом уровне в виде L-by-N матрица положительных целых чисел, где L является количеством уровней разрешения и N, является количеством размерностей изображения. blockedImage возражайте всегда видам Size в порядке убывания количеством пикселей, независимо от как Source хранит уровни.
Типы данных: double
SizeInBlocks — Размер, описанный как количество блоковЭто свойство доступно только для чтения.
Размер, описанный как количество блоков в виде L-by-N матрица положительных целых чисел, где L является количеством уровней разрешения и N, является количеством размерностей. Это свойство зависит от BlockSize свойство. Значение включает частичные блоки.
Типы данных: double
Source — Источник данных изображенияstring скаляр | числовой массив | categorical массив | struct массивЭто свойство доступно только для чтения.
Источник данных изображения в виде числового в оперативной памяти, categorical, или struct массив, или как string скаляр или char вектор, задающий имя файла или имя папки.
Типы данных: string
WorldEnd — Мировые координаты конечного ребра изображенияМировые координаты конечного ребра изображения в виде L-by-N числовая матрица, где L является количеством уровней разрешения и N, являются количеством размерностей. По умолчанию значением является Size + 0.5 для каждой размерности и уровня, приводящего к пикселям, которые являются одной единицей в ширину. Мировые координаты пиксельных центров совпадают с пиксельными местоположениями индекса для первого уровня.
Типы данных: double
WorldStart — Мировые координаты стартового ребра изображенияМировые координаты стартового ребра изображения в виде L-by-N числовая матрица, где L является количеством уровней и N, являются количеством размерностей. По умолчанию значением стартового ребра является 0.5 в каждой размерности и уровне.
Типы данных: double
UserData — Пользовательские данные сопоставлены с изображениемstructПользовательские данные сопоставлены с изображением в виде struct. Это поле может быть пустым. Можно обновить значение в любое время. Чтобы заставить это значение сохраниться с источником, запишите blockedImage к файлу с помощью write функция, или задают данные как параметр, когда вы создаете объект.
Типы данных: struct
apply | Блоки процесса блокированного изображения |
crop | Создайте обрезанную версию блокированного изображения |
blocksub2sub | Преобразуйте индексы блока в пиксельные индексы |
gather | Соберите блоки в текущую рабочую область |
getBlock | Считайте определенный блок блокированного изображения |
getRegion | Считайте произвольную область блокированного изображения |
setBlock | Поместите данные в определенный блок блокированного изображения |
sub2blocksub | Преобразуйте пиксельные индексы, чтобы блокировать индексы |
sub2world | Преобразуйте пиксельные индексы, чтобы блокировать индексы |
world2sub | Преобразуйте мировые координаты в пиксельные индексы |
write | Запишите блокированные данные изображения новому месту назначения |
Создайте блокированное изображение из демонстрационного изображения, включенного с тулбоксом.
bim = blockedImage('tumor_091R.tif');
Отобразите детали блокированного изображения в командной строке.
disp(bim)
blockedImage with properties:
Read only properties
Source: "/mathworks/devel/bat/BR2021bd/build/matlab/toolbox/images/imdata/tumor_091R.tif"
Adapter: [1x1 images.blocked.TIFF]
Size: [3x3 double]
SizeInBlocks: [3x3 double]
ClassUnderlying: [3x1 string]
Settable properties
BlockSize: [3x3 double]
Просмотрите блокированное изображение в окне рисунка.
bigimageshow(bim)

Считайте данные в рабочую область. В данном примере считайте демонстрационный объем, который включен с тулбоксом.
dmri = tiffreadVolume('mri.tif');
Создайте блокированное изображение из объема.
bim = blockedImage(dmri);
Отобразите детали о блокированном изображении в командной строке.
disp(bim)
blockedImage with properties:
Read only properties
Source: [128x128x27 uint8]
Adapter: [1x1 images.blocked.InMemory]
Size: [128 128 27]
SizeInBlocks: [1 1 1]
ClassUnderlying: "uint8"
Settable properties
BlockSize: [128 128 27]
Создайте набор файла изображений в папке тулбокса демонстрационных изображений.
fs = matlab.io.datastore.FileSet( ... fullfile(matlabroot,'toolbox','images','imdata'), ... "FileExtensions",{'.jpg','.png'});
Создайте массив блокированных изображений от изображений в наборе файла.
bims = blockedImage(fs);
Отобразите детали массива блокированных изображений.
disp(bims)
1x74 blockedImage array with properties:
Read only properties
Source: 'Various'
Adapter: [1x1 images.blocked.GenericImage]
ClassUnderlying: 'Various'
Settable properties
No properties.
Создайте блокированное изображение, к которому можно записать данные. Вы задаете формат блокированного изображения в destination параметр. Чтобы записать в память, задайте пустую матрицу. Необходимо также задать размер изображения и размер блоков, в которые вы хотите разделенное на блоки изображение. Параметр начального значения зависит от формата, который вы задали в месте назначения. Чтобы создать перезаписываемое блокированное изображение, задайте 'Mode' параметр со значением 'w' для режима записи.
destination = []; imgsize = [5 7]; blocksize = [2 2]; initval = uint8(0); bim = blockedImage(destination,imgsize,blocksize,initval, "Mode", 'w');
Запишите данные с заданными блоками в блокированном изображении при помощи setBlock объектная функция. blocksubs параметр задает координаты блока, с которым вы хотите записать данные. blockdata параметр задает данные, чтобы записать в заданный блок. Размер blockdata должен совпадать с размером блока.
blocksubs = [1 1];
blockdata = ones(2,2,"uint8");
setBlock(bim, blocksubs, blockdata)
Закройте изображение для записи.
Переключите блокированное изображение на режим чтения путем устанавливания параметра 'Режима' на 'r' для чтения.
bim.Mode = 'r'
bim =
blockedImage with properties:
Read only properties
Source: [5x7 uint8]
Adapter: [1x1 images.blocked.InMemory]
Size: [5 7]
SizeInBlocks: [3 4]
ClassUnderlying: "uint8"
Settable properties
BlockSize: [2 2]
Создайте полный образ при помощи gather функция, чтобы собрать все отдельные блоки.
fullImage = gather(bim);
Отобразите детали блокированного изображения в командной строке.
disp(fullImage)
1 1 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Создайте блокированное изображение из демонстрационного изображения, включенного с тулбоксом.
bim = blockedImage('tumor_091R.tif');
bigimageshow(bim)

Задайте расстояние между пиксельными центрами на самом прекрасном уровне. Эта информация, полученная из необработанных данных, доступных в https://camelyon17.grand-challenge.org/Data/.
pext = 0.000226316; % (in millimeters)
Примите, что верхнее левое ребро первого пикселя запускается в (0,0).
worldStart = zeros(bim.NumLevels, bim.NumDimensions);
Вычислите правое нижнее ребро последнего пикселя самого прекрасного уровня разрешения, с помощью только пространственные размерности. С расстоянием между каждым пиксельным известным центром умножьте расстояние на количество пикселей.
worldEnd = bim.Size(1,:)*pext;
Все уровни разрешения охватывают те же мировые координаты.
worldEnd = repmat(worldEnd,[bim.NumLevels,1]);
Третья размерность содержит цветовые каналы, каждого с пиксельной степенью 1. Обновите мировые координаты ребер пикселей, чтобы сосредоточить их на целочисленных значениях (в этом случае, 1, 2, и 3).
worldStart(:,3) = 0.5; worldEnd(:,3) = 3.5;
Просмотрите изображение с обновленными координатами.
bim = blockedImage('tumor_091R.tif', ... 'WorldStart',worldStart,'WorldEnd',worldEnd); figure h = bigimageshow(bim); title('Measured in Millimeters')


У вас есть модифицированная версия этого примера. Вы хотите открыть этот пример со своими редактированиями?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.