polyToBlockedImage

Создайте пометил blockedImage объект от набора ROI

    Описание

    пример

    Bout = polyToBlockedImage(ROIpositions,ROILabelIDs,imageSize) создает числовое, помеченное 2D блокированное изображение Bout из заданного размера imageSize от видимых областей (ROIs), заданных в ROIpositions и метка IDs задана в ROILabelIDs.

    пример

    Bout = polyToBlockedImage(___,Name=Value) задает свойства объектов Bout использование аргументов name-value в дополнение к входным параметрам от предыдущего синтаксиса.

    Пример: polyToBlockedImage(ROIpositions,ROILabelIDs,BlockSize=[512,512]) создает блокированное изображение с размером блока 512 512 пикселей.

    Примеры

    свернуть все

    Создайте блокированное изображение.

    bim = blockedImage("baby.jpg");

    Инициализируйте массив ячеек положения ROI.

    numPolygon = 3;
    roiPositions = cell(numPolygon,1);

    Задайте координаты трех ROI в roiPositions cellArray. Первый ROI является треугольником, требуя xY координаты для трех вершин. Другие два ROI являются четырехугольниками, требуя xY координаты для четырех вершин.

    roiPositions{1} = [500 500; 250 1300; 1000 500];
    roiPositions{2} = [1500 1100; 1500 1400; 2000 1400; 2000 700];
    roiPositions{3} = [80 2600; 480 2700; 470 3000; 100 3000];

    Отобразите блокированное изображение и чертите эти три ROI на фигуре.

    bigimageshow(bim);
    for id = 1:numPolygon
        drawpolygon(Position=roiPositions{id});
    end

    Создайте массив для метки IDs тот же размер как roiPositions cellArray.

    roilabelID = zeros(numPolygon,1,"uint8");

    Задайте Значения идентификаторов метки, которые соответствуют порядку, в котором вы перечислили ROI в roiPositions. Первый ROI является треугольником, так пометьте его 1. Другие два ROI являются четырехугольниками, поэтому пометьте их 2.

    roilabelID(1) = 1;
    roilabelID(2) = 2;
    roilabelID(3) = 2;

    Укажите, что размер нового помеченного блокированного изображения, чтобы совпадать с размером начальной буквы блокировал изображение.

    imageSize = bim.Size(1:2);

    Создайте помеченный blockedImage объект от ROI.

    L = polyToBlockedImage(roiPositions,roilabelID,imageSize);

    Отобразите помеченное блокированное изображение. Используйте масштабирование цвета и цветные пределы по осям, чтобы визуализировать различия между метками для треугольных и четырехсторонних ROI.

    bigimageshow(L,CDataMapping="scaled")
    caxis([0 2]);

    Отобразите помеченное блокированное изображение, наложенное на исходном блокированном изображении.

    hbim = bigimageshow(bim);
    showlabels(hbim,L)

    Создайте блокированное изображение.

    bim = blockedImage("tumor_091R.tif");

    Инициализируйте массив ячеек положения ROI.

    numPolygon = 3;
    roiPositions = cell(numPolygon,1);

    Задайте центр и параметры радиуса для трех круговых ROI.

    center = [2774 1607; 2071 3100; 2208 2262];
    radius = [390; 470; 161];

    Отобразите блокированное изображение и используйте drawcircle чертить три круговых ROI на figure. Добавьте xY координаты вершин для каждого ROI к roiPositions cellArray.

    hbim = bigimageshow(bim);
    for id = 1:numPolygon
        hROI = drawcircle(Radius=radius(id),Center=center(id,:));
        roiPositions{id} = hROI.Vertices;
    end

    Создайте массив для метки IDs тот же размер как roiPositions cellArray.

    roilabelID = zeros(numPolygon,1,"uint8");  

    Задайте Значения идентификаторов метки, которые соответствуют порядку, в котором вы перечислили ROI в roiPositions. Можно присвоить каждый ROI различная метка или группа несколько ROI под той же маркой.

    roilabelID(1) = 1;
    roilabelID(2) = 2;
    roilabelID(3) = 2;

    Укажите, что размер изображения для нового помеченного блокированного изображения, равного тому из второго уровня разрешения начальной буквы, блокировал изображение, bim.

    maskLevel = 2;
    imageSize = bim.Size(maskLevel,1:2);

    Создайте помеченный blockedImage объект от ROI. Используйте WorldStart и WorldEnd аргументы name-value, чтобы обеспечить те же мировые координаты как начальная буква блокировали изображение на заданном уровне разрешения.

    L = polyToBlockedImage(roiPositions,roilabelID, ...
    imageSize,WorldStart=bim.WorldStart(maskLevel, 1:2), ...
    WorldEnd=bim.WorldEnd(maskLevel, 1:2));

    Отобразите помеченное блокированное изображение, наложенное на исходном блокированном изображении.

    showlabels(hbim,L)

    Входные параметры

    свернуть все

    Координатные векторы в виде P - массив ячеек элемента числовых векторов, где P является общим количеством ROI. Каждым элементом массива ячеек является s-by-2 координатный вектор из формы [x1 y1; … ; xs ys], где s является общим количеством вершин для того ROI. Каждый x, пара y задает вершину ROI. Если форма ROI уже не закрывается, polyToBlockedImage функционируйте закрывает форму автоматически. Можно задать любое количество ROI.

    Типы данных: cell

    Метки для каждого ROI в виде P - элемента числовой вектор или P - элемент логический вектор, где P является общим количеством ROI.

    polyToBlockedImage присваивает значение 0 ко всем фоновым пикселям в выходном изображении.

    Типы данных: single | double | int8 | int16 | int32 | uint8 | uint16 | uint32 | logical

    Размер выхода пометил блокированное изображение в виде числового вектора из положительных целых чисел. Если вы задаете больше чем две размерности, polyToBlockedImage функционируйте использует только первые две размерности.

    Типы данных: single | double | int8 | int16 | int32 | uint8 | uint16 | uint32

    Аргументы name-value

    Задайте дополнительные пары аргументов как Name1=Value1,...,NameN=ValueN, где Name имя аргумента и Value соответствующее значение. Аргументы name-value должны появиться после других аргументов, но порядок пар не имеет значения.

    Пример: polyToBlockedImage (ROIpositions, ROILabelIDs, imageSize, BlockSize = [512,512]) создает помеченное блокированное изображение с размером блока 512 512 пикселей.

    Считайте и запишите интерфейс для блокированного объекта изображения в виде одного из этих объектов адаптера.

    АдаптерОписание
    BINBlocksСохраните каждый блок как двоичный файл в папке
    GenericImage Сохраните блоки в одном изображении
    GenericImageBlocksСохраните каждый блок как файл изображения в папке
    H5Сохраните блоки в одном изображении HDF5
    H5BlocksСохраните каждый блок как файл HDF5 в папке
    InMemoryСохраните блоки в переменной в оперативной памяти
    JPEGBlocksСохраните каждый блок как файл JPEG в папке
    MATBlocksСохраните каждый блок как файл MAT в папке
    PNGBlocksСохраните каждый блок как файл PNG в папке
    TIFFСохраните блоки в одном файле TIFF

    Можно также создать собственный адаптер с помощью images.blocked.Adapter класс.

    Если OutputLocation задан, затем функция автоматически выбирает адаптер на основе выходного местоположения. Если OutputLocation не задан, затем адаптером по умолчанию является InMemory объект.

    Размер блока в виде числового вектора из положительных целых чисел. Если вы задаете больше чем две размерности, polyToBlockedImage функционируйте использует только первые две размерности.

    Типы данных: double

    Ожидайте переключатель отображения панели в виде числового или логического 1 TRUE) или 0 ложь). Когда установлено в true, polyToBlockedImage функционируйте отображает панель ожидания для продолжительных операций. Если вы отменяете панель ожидания, polyToBlockedImage функция возвращает частичный выходной параметр при наличии.

    Типы данных: логический

    Местоположение, чтобы сохранить выход помеченное блокированное изображение в виде вектора символов или строкового скаляра. По умолчанию выход блокировался, изображение хранится в памяти.

    Целевой тип'imageFormat'
    Имя папки (без расширения файла)

    polyToBlockedImage функция создает папку и хранит блоки данных как файлы в папке.

    • Для числовых данных изображения, polyToBlockedImage хранилища каждый блок как двоичный файл с помощью BINBlocks адаптер.

    • Для категориального и данных изображения структуры, polyToBlockedImage хранилища каждый блок как файл MAT в папке с помощью MATBlocks адаптер.

    Имя файла с TIF или расширением файла TIFF

    polyToBlockedImage функция хранит данные как одно изображение TIFF с помощью TIFF адаптер.

    initialValue должно быть числовым или логическим с типом данных uint8int8uint16int16uint32int32единственный'double' или logical.

    Имя файла с расширением файла H5

    polyToBlockedImage функция хранит данные как одно изображение HDF5 с помощью H5 адаптер.

    initialValue должно быть числовым с типом данных uint8int8uint16int16uint32int32единственный, или double.

    []

    blockedImage данные об объектно-ориентированной памяти как переменная в памяти с помощью InMemory адаптер.

    Чтобы задать пользовательский адаптер для других выходных форматов, используйте Adapter свойство.

    Мировые координаты стартового ребра изображения в виде числового вектора. По умолчанию значением является [0.5,0.5].

    Типы данных: double

    Мировые координаты конечного ребра изображения в виде числового вектора. По умолчанию значением является imageSize + 0.5, получившийся в пикселях, которые являются одной единицей в ширину.

    Типы данных: double

    Выходные аргументы

    свернуть все

    Числовое помеченное 2D блокированное изображение, возвращенное как blockedImage объект.

    Советы

    • Создать помеченное блокированное изображение, Bout, чтобы наложить на существующем блокированном изображении, совпадайте с imageSize к размеру существующего блокированного изображения на уровне нужного разрешения. Если уровень разрешения Bout совпадает с самым прекрасным уровнем разрешения существующего блокированного изображения, можно использовать значения по умолчанию для WorldStart и WorldEnd. Чтобы отобразить наложение на крупном уровне разрешения, задайте WorldStart и WorldEnd совпадать с мировыми степенями существующего блокированного изображения на уровне нужного разрешения.

    • Создание помеченного блокированного изображения на более грубом уровне разрешения уменьшает память, требуемую сохранить новое блокированное изображение, но уменьшает гладкость ребер ROI.

    • Если пиксель в нескольких перекрывающихся ROI, функция присваивает пиксель метка, соответствующая перекрывающемуся ROI с самым низким индексом в ROIpositions.

    Введенный в R2021b