Volume Visualization: Display blocked volumes
The volshow function now supports displaying large image volumes stored as a
blockedImage object. When you pass a blockedImage object
as input, volshow displays the volume and creates a BlockedVolume object. The BlockedVolume object controls the
appearance and behavior of the blocked image volume within a 3-D scene. To get started, see
Display Large 3-D Images Using Blocked Volume Visualization.
Blocked Images: Add levels to large images, combine block locations, and other enhancements
Several enhancements to blocked images enable streamlined workflows when working with blocked images.
Create multilevel blocked images using the makeMultiLevel2D and makeMultiLevel3D functions. These functions are particularly useful when
you want to create overview levels for a very large image.
Combine the levels of two or more blocked images using the concatenateLevels function. This function supports combining data in
different formats and in different locations. To efficiently add overview levels to a
very large image on disk, you can create the overview levels in memory, and then
combine the original image and the overview levels using
concatenateLevels.
Merge the locations of selected blocks from two arrays of blocked images using the
mergeBlockLocationSets function. Use this function when you want to
combine block locations selected from a set of images using different criteria, or
when you want to combine block locations selected from two different sets of
images.
Use the JPEG2000 adapter to read blocks of a single JPEG2000 file.
Write all blocks of a blocked image datastore to files using the writeall function.
When you display 2-D blocked images using the bigimageshow object, you can add listeners for the new
DataReadStarted and DataReadFinished events.
When you get or specify pixel coordinates using the getRegion, sub2world, or world2sub functions, you can now specify the pixel or world coordinates
using a lower dimensionality than that of the blocked image.
Image Batch Processor App: Support for image datastores and other enhancements
The Image Batch Processor app includes several new capabilities:
Image datastore support — Load a batch of images by importing an
imageDatastore object from the MATLAB® workspace.
Support for additional file formats — Load images from file formats including
RAW and EXR.
Additional command line syntaxes — Open the Image Batch Processor app and load images using two new syntaxes.
This syntax opens the app and loads the batch of images stored in the specified
folder
folderLocation.
imageBatchProcessor(folderLocation)
imageDatatore object
imds.imageBatchprocessor(imds)
You can now optionally pass a second input argument, info, to
your batch processing function. The info argument contains
information about the image source, including the image filename. For an example that
uses the info argument, see Process Images Using Image Batch Processor App with File Metadata.
Color Thresholder App: Enhanced in-app image acquisition and updated graphics requirements
Starting in R2023a, you can more easily retake images acquired in the Color Thresholder using the new Import From Camera window. To open the window, on the app toolstrip, select Load Image > Acquire Image From Camera. In the window, you can adjust camera settings, capture an image by clicking Capture, and then choose to Retake or Accept the image. Once you accept an image, the window closes and the accepted image is loaded into the Choose a Color Space tab. Previously, you needed to reopen the Image Capture tab each time you wanted to retake an image.
The app now requires hardware-accelerated graphics rendering for some features. For more information, see Functionality being removed or changed.
bwboundaries function: Trace exterior boundaries
The bwboundaries function has two new name-value arguments.
The TraceStyle name-value argument adds support for tracing
the boundary along the exterior edge of boundary pixels. Before, the function traced
the boundary through only the centers of boundary pixels.
The CoordinateOrder name-value argument adds support for
returning boundary coordinates in (x, y)
order. Before, the function returned boundary coordinates in only
(y, x) order.
iradon function: Additional support for data type
single
The iradon function now supports projection angles
theta of data type single. When you specify
theta as data type single, the
iradon function returns the frequency response H
as data type single.
Preferences in MATLAB Online: Update preferences interactively using the MATLAB Preferences window
Before R2023a, in MATLAB
Online™, you could only access and update toolbox preferences programmatically using
the iptgetpref and iptsetpref functions,
respectively. You could not set toolbox preferences interactively.
Starting in R2023a, in MATLAB
Online, you can additionally access and set toolbox preferences interactively using
the MATLAB Preferences window. Open the Preferences window using the iptprefs function.
Access display settings for the imshow function under
MATLAB>Image Display.
Access display settings for the Image Viewer app, as well as an option for enabling hardware optimizations, under Image Processing Toolbox.
There is no change to the MATLAB Preferences window in MATLAB desktop. For details, see iptprefs.
C Code Generation: Generate code from additional functions using MATLAB Coder
This list indicates the Image Processing Toolbox™ functions that have been enabled for code generation in this release. For all target platforms, these functions generate C code. For a complete list of Image Processing Toolbox functions that support code generation, see Functions Supporting Code Generation.
The bwconncomp function now supports input images of any dimension. The function
can now generate code that returns the PixelIdxList field in the
CC structure.
Hyperspectral Image Processing: Image Processing Toolbox Hyperspectral Imaging Library (Version 23.1)
Use the customSpectralIndex function to define and compute an index specific to
your application. You can use a custom spectral index to ease a workflow where standard
hyperspectral indices are not applicable. You can also use a custom spectral index to
fine-tune commonly used spectral indices to your specific hyperspectral data.
Visualize standard and custom spectral indices of hyperspectral data and export color bands, spectral indices and masks to the workspace using the new capabilities in the Hyperspectral Viewer app.
Support for hyperspectral data from the AVIRIS sensor.
The Manually Label ROIs in Multispectral Image example shows how to manually select regions of interest (ROIs) from a multispectral image and save them in a shapefile using the Mapping Toolbox™.
To use these functions and tools, you must download Image Processing Toolbox Hyperspectral Imaging Library from the Add-On Explorer. See Get and Manage Add-Ons.
Functionality being removed or changed
The regionprops function uses new equation for circularity
Behavior change
Starting in R2023a, the regionprops function uses a new equation to calculate circularity. The new
equation removes a bias that caused the computed circularity to be too high for relatively
small objects.
If you wants to reproduce circularity measurements using the old equation, then you can use these commands:
props = regionprops(I,["Area" "Perimeter"]); oldCircularity = 4*pi*props.Area ./ props.Perimeter.^2;
MATLAB Online limits maximum image display resolution
Behavior change
Starting in R2023a, MATLAB Online limits image display resolution to improve rendering speed for large images. This behavior affects the onscreen display, but it does not affect the image data. Before displaying large images, MATLAB Online resizes the largest dimension to a maximum size of 512 pixels for 2-D images and 256 voxels for 3-D image volumes. The smaller dimensions adjust to preserve the aspect ratio of the image or volume. To view images at their full resolution, use MATLAB desktop.
For the imshow function only, you can display images at their
full resolution online by setting the MaxRenderedResolution property
of the output Image object to "none". For details
about the MaxRenderedResolution property, see Image Properties.
Color Thresholder App: Updated graphics system requirements
Behavior change
Starting in R2023a, some features within the Color Thresholder app require hardware-accelerated graphics rendering. If MATLAB is using a software-rendering implementation, the app disables these features:
Visualization of color space values as point clouds.
Interactive drawing using the freehand ROI and polygon ROI tools.
To determine which implementation MATLAB is using, call the rendererinfo function. For details
about graphics rendering in MATLAB, see System Requirements for Graphics.