Main Content

read

Read data and metadata from blockedImageDatastore

    Description

    example

    b = read(bimds) returns the data extracted from the blockedImageDatastore, bimds. b is a cell array of block data. The value of the ReadSize property of the blockedImageDatastore object determines the length of the cell array.

    [b,info] = read(bimds) also returns info, a structure containing information about where the data was extracted from the blockedImageDatastore.

    Examples

    collapse all

    Create a blocked image.

    bim = blockedImage('tumor_091R.tif');

    Create a blockedImageDatastore from the blocked image.

    bimds = blockedImageDatastore(bim);

    Read data and metadata from the blockedImageDatastore. Display the metadata.

    while hasdata(bimds)
          [data, info] = read(bimds);
          disp(info);
    end
           BlockSub: [1 1 1]
              Start: [1 1 1]
                End: [1024 1024 3]
              Level: 1
        ImageNumber: 1
         BorderSize: [0 0 0]
          BlockSize: [1024 1024 3]
    
           BlockSub: [1 2 1]
              Start: [1 1025 1]
                End: [1024 2048 3]
              Level: 1
        ImageNumber: 1
         BorderSize: [0 0 0]
          BlockSize: [1024 1024 3]
    
           BlockSub: [1 3 1]
              Start: [1 2049 1]
                End: [1024 3072 3]
              Level: 1
        ImageNumber: 1
         BorderSize: [0 0 0]
          BlockSize: [1024 1024 3]
    
           BlockSub: [1 4 1]
              Start: [1 3073 1]
                End: [1024 4096 3]
              Level: 1
        ImageNumber: 1
         BorderSize: [0 0 0]
          BlockSize: [1024 1024 3]
    
           BlockSub: [1 5 1]
              Start: [1 4097 1]
                End: [1024 5120 3]
              Level: 1
        ImageNumber: 1
         BorderSize: [0 0 0]
          BlockSize: [1024 1024 3]
    
           BlockSub: [1 6 1]
              Start: [1 5121 1]
                End: [1024 6144 3]
              Level: 1
        ImageNumber: 1
         BorderSize: [0 0 0]
          BlockSize: [1024 1024 3]
    
           BlockSub: [2 1 1]
              Start: [1025 1 1]
                End: [2048 1024 3]
              Level: 1
        ImageNumber: 1
         BorderSize: [0 0 0]
          BlockSize: [1024 1024 3]
    
           BlockSub: [2 2 1]
              Start: [1025 1025 1]
                End: [2048 2048 3]
              Level: 1
        ImageNumber: 1
         BorderSize: [0 0 0]
          BlockSize: [1024 1024 3]
    
           BlockSub: [2 3 1]
              Start: [1025 2049 1]
                End: [2048 3072 3]
              Level: 1
        ImageNumber: 1
         BorderSize: [0 0 0]
          BlockSize: [1024 1024 3]
    
           BlockSub: [2 4 1]
              Start: [1025 3073 1]
                End: [2048 4096 3]
              Level: 1
        ImageNumber: 1
         BorderSize: [0 0 0]
          BlockSize: [1024 1024 3]
    
           BlockSub: [2 5 1]
              Start: [1025 4097 1]
                End: [2048 5120 3]
              Level: 1
        ImageNumber: 1
         BorderSize: [0 0 0]
          BlockSize: [1024 1024 3]
    
           BlockSub: [2 6 1]
              Start: [1025 5121 1]
                End: [2048 6144 3]
              Level: 1
        ImageNumber: 1
         BorderSize: [0 0 0]
          BlockSize: [1024 1024 3]
    
           BlockSub: [3 1 1]
              Start: [2049 1 1]
                End: [3072 1024 3]
              Level: 1
        ImageNumber: 1
         BorderSize: [0 0 0]
          BlockSize: [1024 1024 3]
    
           BlockSub: [3 2 1]
              Start: [2049 1025 1]
                End: [3072 2048 3]
              Level: 1
        ImageNumber: 1
         BorderSize: [0 0 0]
          BlockSize: [1024 1024 3]
    
           BlockSub: [3 3 1]
              Start: [2049 2049 1]
                End: [3072 3072 3]
              Level: 1
        ImageNumber: 1
         BorderSize: [0 0 0]
          BlockSize: [1024 1024 3]
    
           BlockSub: [3 4 1]
              Start: [2049 3073 1]
                End: [3072 4096 3]
              Level: 1
        ImageNumber: 1
         BorderSize: [0 0 0]
          BlockSize: [1024 1024 3]
    
           BlockSub: [3 5 1]
              Start: [2049 4097 1]
                End: [3072 5120 3]
              Level: 1
        ImageNumber: 1
         BorderSize: [0 0 0]
          BlockSize: [1024 1024 3]
    
           BlockSub: [3 6 1]
              Start: [2049 5121 1]
                End: [3072 6144 3]
              Level: 1
        ImageNumber: 1
         BorderSize: [0 0 0]
          BlockSize: [1024 1024 3]
    
           BlockSub: [4 1 1]
              Start: [3073 1 1]
                End: [4096 1024 3]
              Level: 1
        ImageNumber: 1
         BorderSize: [0 0 0]
          BlockSize: [1024 1024 3]
    
           BlockSub: [4 2 1]
              Start: [3073 1025 1]
                End: [4096 2048 3]
              Level: 1
        ImageNumber: 1
         BorderSize: [0 0 0]
          BlockSize: [1024 1024 3]
    
           BlockSub: [4 3 1]
              Start: [3073 2049 1]
                End: [4096 3072 3]
              Level: 1
        ImageNumber: 1
         BorderSize: [0 0 0]
          BlockSize: [1024 1024 3]
    
           BlockSub: [4 4 1]
              Start: [3073 3073 1]
                End: [4096 4096 3]
              Level: 1
        ImageNumber: 1
         BorderSize: [0 0 0]
          BlockSize: [1024 1024 3]
    
           BlockSub: [4 5 1]
              Start: [3073 4097 1]
                End: [4096 5120 3]
              Level: 1
        ImageNumber: 1
         BorderSize: [0 0 0]
          BlockSize: [1024 1024 3]
    
           BlockSub: [4 6 1]
              Start: [3073 5121 1]
                End: [4096 6144 3]
              Level: 1
        ImageNumber: 1
         BorderSize: [0 0 0]
          BlockSize: [1024 1024 3]
    
           BlockSub: [5 1 1]
              Start: [4097 1 1]
                End: [5120 1024 3]
              Level: 1
        ImageNumber: 1
         BorderSize: [0 0 0]
          BlockSize: [1024 1024 3]
    
           BlockSub: [5 2 1]
              Start: [4097 1025 1]
                End: [5120 2048 3]
              Level: 1
        ImageNumber: 1
         BorderSize: [0 0 0]
          BlockSize: [1024 1024 3]
    
           BlockSub: [5 3 1]
              Start: [4097 2049 1]
                End: [5120 3072 3]
              Level: 1
        ImageNumber: 1
         BorderSize: [0 0 0]
          BlockSize: [1024 1024 3]
    
           BlockSub: [5 4 1]
              Start: [4097 3073 1]
                End: [5120 4096 3]
              Level: 1
        ImageNumber: 1
         BorderSize: [0 0 0]
          BlockSize: [1024 1024 3]
    
           BlockSub: [5 5 1]
              Start: [4097 4097 1]
                End: [5120 5120 3]
              Level: 1
        ImageNumber: 1
         BorderSize: [0 0 0]
          BlockSize: [1024 1024 3]
    
           BlockSub: [5 6 1]
              Start: [4097 5121 1]
                End: [5120 6144 3]
              Level: 1
        ImageNumber: 1
         BorderSize: [0 0 0]
          BlockSize: [1024 1024 3]
    

    Input Arguments

    collapse all

    Blocked image datastore, specified as a blockedImageDatastore object.

    Output Arguments

    collapse all

    Data from blockedImageDatastore, returned as a cell array of block data of length ReadSize.

    Metadata from blockedImageDatastore, returned as a scalar struct with these fields. If ReadSize>1, these fields are arrays.

    FieldDescription
    Level

    Resolution level from which this data was read.

    ImageNumber

    Index into the bimds.Images array corresponding to the blockedImage from which this block was read.

    Start

    Subscripts of the first element in the block. If BorderSize is specified, this subscript can be out-of-bounds for edge blocks.

    End

    Subscripts of the last element in the block. If BorderSize is specified, this subscript can be out-of-bounds for edge blocks.

    Blocksub

    Block subscripts of the current block

    BorderSize

    Value of the BorderSize parameter

    BlockSize

    Value of the BlockSize parameter

    Introduced in R2021a