Mathworks IMAGE PROCESSING TOOLBOX RELEASE NOTES

Image Processing Toolbox™ Release Notes
How to Contact The MathWorks
www.mathworks. comp.soft-sys.matlab Newsgroup www.mathworks.com/contact_TS.html Technical Support
bugs@mathwo doc@mathworks.com Documentation error reports service@mathworks.com Order status, license renewals, passcodes
info@mathwo
com
rks.com
rks.com
Web
Bug reports
Sales, prici
ng, and general information
508-647-7000 (Phone)
508-647-7001 (Fax)
The MathWorks, Inc. 3 Apple Hill Drive Natick, MA 01760-2098
For contact information about worldwide offices, see the MathWorks Web site.
Image Processing Toolbox™ Release Notes
© COPYRIGHT 2000–20 10 by The MathWorks, Inc.
The software described in this document is furnished under a license agreement. The software may be used or copied only under the terms of the license agreement. No part of this manual may be photocopied or reproduced in any form without prior written consent from The MathW orks, Inc.
FEDERAL ACQUISITION: This provision applies to all acquisitions of the Program and Documentation by, for, or through the federal government of the United States. By accepting delivery of the Program or Documentation, the government hereby agrees that this software or documentation qualifies as commercial computer software or commercial computer software documentation as such terms are used or defined in FAR 12.212, DFARS Part 227.72, and DFARS 252.227-7014. Accordingly, the terms and conditions of this Agreement and only those rights specified in this Agreement, shall pertain to and govern theuse,modification,reproduction,release,performance,display,anddisclosureoftheProgramand Documentation by the federal government (or other entity acquiring for or through the federal government) and shall supersede any conflicting contractual terms or conditions. If this License fails to meet the government’s needs or is inconsistent in any respect with federal procurement law, the government agrees to return the Program and Docu mentation, unused, to The MathWorks, Inc.
Trademarks
MATLAB and Simulink are registered trademarks of The MathWorks, Inc. See
www.mathworks.com/trademarks for a list of additional trademarks. Other product or brand
names may be trademarks or registered trademarks of their respective holders.
Patents
The MathWorks products are protected by one or more U.S. patents. Please see
www.mathworks.com/patents for more information.
Summary by Version ............................... 1
Contents
Version 7.0 (R2010a) Image Processing Toolbox
Version 6.4 (R2009b) Image Processing Toolbox
Version 6.3 (R2009a) Image Processing Toolbox
Version 6.2 (R2008b) Image Processing Toolbox
Version 6.1 (R2008a) Image Processing Toolbox
Version 6.0 (R2007b) Image Processing Toolbox
Version 5.4 (R2007a) Image Processing Toolbox
Version 5.3 (R2006b) Image Processing Toolbox
Version 5.2 (R2006a) Image Processing Toolbox
Version 5.1 (R14SP3) Image Processing Toolbox
...... 4
...... 8
...... 14
...... 18
...... 25
...... 30
...... 35
...... 39
...... 42
...... 44
Version 5.0.2 (R14SP2) Image Processing Toolbox
Version 5.0.1 (R14SP1) Image Processing Toolbox
Version 5.0 (R14) Image Processing Toolbox
Version 4.2 (R13SP2) Image Processing Toolbox
Version 4.1 (R13SP1) Image Processing Toolbox
......... 53
.... 47
.... 52
...... 77
...... 79
iii
Version 4.0 (R13+) Image Processing Toolbox ........ 82
Version 3.2 (R13+) Image Processing Toolbox
Version 3.1 (R12.1) Image Processing Toolbox
Version 3.0 (R12+) Image Processing Toolbox
Version 2.2.2 (R12) Image Processing Toolbox
Compatibility Summary for Image Processing
Toolbox
......................................... 108
........ 91
........ 95
........ 96
........ 105
iv Contents

SummarybyVersion

This table provides quick access to what’s new in each version. For clarification, see “Using Release Notes” on page 2 .
Image Processing Toolbox™ Release Notes
Version (Release)
Latest Versi V7.0 (R2010a
V6.4 (R2009b)
V6.3 (R2009a)
V6.2 (R2
V6.1 (R2008a)
V6.0 (R2007b)
008b)
New Features and Changes
on
Yes
)
Details
Yes Details
Yes Details
Yes Details
Yes Details
Yes Detai
Ver sion Compatibilit Consideratio
Yes Summary
Yes Summary
Yes Summary
Yes Summary
Yes Summary
Yes
ls
Summa
ry
y
ns
Fixed Bugs and Known Problems
Bug Reports Includes fix
Bug Reports Includes fixes
Bug Repor Includes
Bug Reports Includes fixes
Bug Reports Includes fixes
Bug Re
des fixes
Inclu
es
ts
fixes
ports
Related Documentation at Web Site
Printable Release Notes: PDF
Current product documentation
No
No
No
No
No
(R2007a)
V5.4
V5.3 (R2006b)
V5.2 (R2006a)
.1 (R14SP3)
V5
Yes Details
Yes Details
s
Ye
tails
De
Yes Details
Yes Summary
Yes Summary
s
Ye
mmary
Su
Yes Summary
Bug Reports Includes fixes
Bug Reports Includes fixes
g Reports
Bu
cludes fixes
In
Bug Reports Includes fixes
No
No
No
No
1
Image Processing Toolbox™ Release Notes
Version (Release)
V5.0.2 (R14SP2)
V5.0.1 (R14SP1)
V5.0 (R14)
V4.2 (R13SP2)
V4.1 (R13SP1)
V4.0 (R13+)
V3.1 (R12.1)
V3.0 (R12+)
V2.2.2 (R12)
New Features and Changes
Ver sion Compatibility Considerations
No Yes
Summary
No No
Yes Details
Yes
Yes Summary
No
Details
Yes
No
Details
Yes
Yes
Details
Yes Details
Yes
Yes Summary
No No No
Details
Yes
No
Details
Fixed Bugs and Known Problems
Fixed bugs Details
Fixed bugs Details
Fixed bugs Details
Fixed bugs Details
Fixed bugs Details
Fixed bugs Details
Fixed bugs Details
Fixed bugs Details
Related Documentation at Web Site
No
No
No
No
No
No
No
No

Using Release Notes

Use release notes when upgrading to a newer version to learn about:
New features
Changes
Potential impact on your existing files and practices
Review the release notes for other MathWorks™ products required for this product (for example, MATLAB bugs, or compatibility considerations in other products impact you.
2
®
or Simulink®). Determine if enhancements,
SummarybyVersion
If you are upgrading from a software version other than the m ost recent one, review the current release notes and all interim versions. For example, when you upg rade from V1.0 to V1.2, review the release notes for V1.1 and V1.2.

What Is in the Release Notes

New Features and Changes

New functionality
Changes to existing functionality

Version Compatibility Con si derations

When a new feature or change introduces a reported incompatibility between versions, the Compatibility Considerations subsection explains the impact.
Compatibility issues reported after the product release appear under Bug Reports at The MathWorks™ Web site. Bug fixes can sometimes result in incompatibilities, so review the fixed bugs in Bug Reports for any compatibility impact.

Fixed Bugs and Known Problems

The MathWorks offers a user-searchable Bug Reports database so you can view Bug Reports. The development team updates this database at release time and as more information becomes available. Bug Reports include provisions for any known workarounds or file replacem ents. Information is available for bugs existing in or fixed in Release 14SP2 or later. Information is not avail able for all bugs in earlier releases.
Access Bug Reports using y our MathWorks Account.
3
Image Processing Toolbox™ Release Notes

Version 7.0 (R2010a) Image Processing Toolbox

This table summarizes what’s new in Version 7.0 (R2010a).
New Features and Changes
Yes Details belo
The follo version:
“New Ima
on page 4
“The blo
page 5
“Plot S
“make
“Inte
imdil
w
wing sections describe new features and changes introduced in this
geAdapter Class Supports Custom File Formats for blockproc”
ckproc Function Now Supports Spatially Varying Operations” on
elector N ow Generates Plots for imshow and imtool” on page 5
cform N ow Supports White Point Adaptation” on page 5
l Integrated Performance Primitives Library Support Extended to
ate, imerode, and medfilt2” on page 6
Version Compatibility Consideratio
Yes—Details labeled as
Compatibility Considerations,
below. S e e als o Summary.
ns
Fixed Bugs and Known Problems
Bug Reports Includes fix
es
Related Documentation at Web Site
Printable Release Notes: PDF
Current product documentation
“imr
“Per
“Non
New For
Th pr
econstruct Now Supports int64 and uint64” on page 6
formance Improvements” on page 6
-interactive Syntax of improfile Returns Different Output” on page 7
ImageAdapter Class Supports Custom File
mats for blockproc
e
blockproc function, introduced in R2009b, supported file-based block
ocessing for arbitrarily large images. In R2009b, you could use
blockproc
4
Version 7.0 (R2010a) Image Processing Toolbox
to read or write TIFF images or to read JPEG2000 images. Now, with the addition of the new
blockproc with images of arbitrary file format.
ImageAdapter class, you can design your own class to use

The blockproc Function Now Supports Spatially Varying Operations

Additional fields have been added to the bloc kproc “block struct” that contain spatial information. These new fields facilitate operations that depend on location.

Plot Selector Now Generates Plots for imshow and imtool

The Plot Selector workspace tool creates graphs of workspace variables. The
imshow and imtool functions have been added to thelistofpossibleplotting
functions available in the Plot Selector. For more information about the Plot Selector, see Enhanced Plot Selector Simplifies Data Display.

makecform Now Supports White Point Adaptation

makecform uses the white point specified by the International Color
Consortium (ICC) as the default for the types. You can now adapt to a white point other than thedefaultvalue,byusinganewsyntaxtospecifytheadaptedwhitepoint:
C = makecform(type, 'AdaptedWhitePoint', WP)
You can also create a linear chromatic-adaptation transform:
C = makecform('adapt', 'WhiteStart', WPS, 'WhiteEnd', WPE, ...
'AdaptModel', modelname)
This transform allows you to adapt XYZ color values from one white point to another.
srgb2lab and lab2srgb transform
whitepoint('ICC'),
5
Image Processing Toolbox™ Release Notes
Intel Integrated Performance Primitives Library Support Extended to imdilate, imerode, and medfilt2
The functions imdilate and imerode are now hardw are optimized for
ones(3) neighborhoods for single, uint8,anduint16 inpu t images.
The
medfilt2 function is now hardware optimized for integer data types
(
uint8, u int16,andint16)andthesingle data type with kernel size 3 x 3.

imreconstruct Now Supports int64 a nd uint64

The imreconstruct function now supports data types int64 and uint64.

Performance Improvements

Faster Functions
edge
imdilate
imerode
imfilter
imresize
iradon
medfilt2
Multithreaded Functions
bwmorph
edge
imabsdiff
imadd
imclose
imdivide
6
Version 7.0 (R2010a) Image Processing Toolbox
immultiply
imopen
iradon
medfilt2

Non-interactive Syntax of improfile Returns Different Output

One of the non-interactive syntaxes of improfil e now returns different output. The output for the syntax
C = improfile(I,xi,yi,N)
has changed. In the syntax above, N specifies the number of points for which to compute intensity values and theendpointsofthelinesegments.
xi and yi specify the spatial coordinates of
For a given line defined by sampled at both endpoints and all sampling points in between at roughly unit interval spacing. If the distance between is evaluated at
N+1 points.
xi and yi, improfile now returns a profile
xi and yi is N pixels, the profile
Compatibility Considerations
In previous releases, if you supplied the xi and yi endpointsas(1,1)and (10,1), the profile would be evaluated at nine points, the nine unit-length intervals between 1 and 10 in the continuous x-y plane. Theseninepoints would be the two end points, plus seven points in between.
7
Image Processing Toolbox™ Release Notes

Version 6.4 (R2009b) Image Processing Toolbox

This table summarizes what’s new in Version 6.4 (R2009b).
New Features and Changes
Yes Details belo
The follo version:
“New blo
“Intel I
Extende
“Expan
Space”
“The i
“Impr
the bw
w
wing sections describe new features and changes introduced in this
ckproc Function to Process Large Images” on page 8
ntegrated Performance Primitives Library Upgraded and Support
d to maci64” on page 10
ded h ou g h Function Allows Specification of Arbitrary Theta Search on page 10
mfilter Function Now Faster for uint16 and double Inputs” on page 11
oved Spe ed for Calculating N-D Euclidean Distance Trans forms with
dist Function” on page 11
Version Compatibility Consideratio
Yes—Details labeled as
Compatibility Considerations,
below. S e e als o Summary.
ns
Fixed Bugs and Known Problems
Bug Reports Includes fix
es
Related Documentation at Web Site
Printable Release Notes: PDF
Current product documentation
“Mod
“Eff
“Pe
New
Th ar
ified B eh a vi or for th e regionprops ConvexHull Property” on page 12
icient Display and Navigation of Very Large NITF-File Images in
ol” on page 12
imto
rformance Improvements” on page 12
blockproc Function to Process Large Images
enew
bitrarily large TIFF images. The new function supports in-memory
blockproc function supports file-based block processing for
8
Version 6.4 (R2009b) Image Processing Toolbox
operations as well as file-to-file processing of images which are too large to load completely into memory.
Compatibility Considerations
In previous releases, you could use the blkproc function for in-memory block-processing of images. The release. Replace all instances of
blkproc function will be removed in a future
blkproc with blockproc.
When updating your code from that the user-defined function,
blkproc to blockproc, it is important to note fun, has a new signature. It now takes a
structure, the "block struct,” as input instead of simply a matrix of image data.
The examples below demonstrate how to update your code from
blockproc.
blkproc to
Example One: DCT2.
% BLKPROC code I = imread('cameraman.tif'); fun = @dct2; J = blkproc(I,[8 8],fun);
% BLOCKPROC equivalent (using an ano nymo us function) fun = @(block_struct) dct2(block_struct.data); J = blockproc(I,[8 8],fun);
Example Two: Filtering.
% BLKPROC code I = imread('concordorthophoto.png'); h = fspecial('gaussian',[11 11],2.5); fun = @(x) imfilter(x,h,'c onv','same'); J = blkproc(I,[500 500],[5 5],fun);
% BLOCKPROC equivalent (using an ano nymo us function) fun = @(block_struct) imfilter(block_struct.data,h,'conv','same'); J = blockproc(I,[500 500],fun,'BorderSize',[5 5]);
9
Image Processing Toolbox™ Release Notes
Intel Integrated Performance Primitives Library Upgraded and Support Extended to maci64
The Intel®Integrated Performance Primitives (Intel IPP) Library has been upgraded from Version 5.3.1 to Version 6.0 Update 1. Intel IPP Library support has been extended to 64-bit Intel-based Mac computers.
Expanded hough Function Allows Specification of Arbitrary Theta Search Space
The hough function now yields fasterresultsfornarrowertheta ranges due to the addition of a parameter/value pair for specifying theta values.
Compatibility Considerations
In previous releases, the 'ThetaResolution' parameter controlled the theta values for the the new

Function Elements Being Removed

'Theta' parameter.
hough function. Now 'ThetaReso lution' i s being replaced by
Function and Syntax What Happens
When You Use the Function or Element?
hough(BW, 'ThetaResolution',val)
Note that with the introduction of the 'Theta' parameter, not all abbreviated forms of entered the following syntax:
hough(BW, 'T', val)
stood for 'ThetaResolution'. Now if you enter this same syntax, 'T'
'T'
stands for the new 'Theta' parameter.
Still runs
'ThetaResolution' will still work. In previous releases, if you
10
Use This Instead Compatibility
Considerations
hough(BW,'Theta',
-90:val:(90-val))
Input parameter no longer recommended. Use new parameter.
'Theta'
Version 6.4 (R2009b) Image Processing Toolbox
If you have old code that uses the 'ThetaResolution' parameter, please see the definition below:
Parameter
'ThetaResolution'
For 'The taResolution', ntheta = 2*ceil(90/The taRe solution). theta angle values a re in the range [-90, 90) degrees. If an integer, the actual angle spacing is
Description
Real scalar value between 0 and 90, exclusive, that specifies the spacing (in degrees) of the Hough transform bins along the theta axis. Default: 1.
90/ThetaResolution is not
90/ceil(90/ThetaResolution).

The imfilter Function Now Faster for uint16 and double Inputs

The imfilter function now runs faster with uint16 and double inputs than in previous releases. This performance enhancement is due to the use of the Intel IPP Library with inputs of these types.
Compatibility Considerations
UsingtheIntelIPPlibraryforuint16 images, poses no compatibility issues. The same is not true, however, for the
If an input image contains NaN values and a filtering kernel contains zero values, the library is enabled versus when it is disabled. If you want to preserve the behavior of previous releases, use the Intel IPP library.
imfilter function now gives different results when the Intel IPP
double data type.
iptsetpref('UseIPPL',false) to disable
Improved Speed for Calculating N-D Euclidean Distance Transforms with the bwdist Function
A new algorithm improves the speed and reduces the memory footprint for the
bwdist function.
11
Image Processing Toolbox™ Release Notes
Compatibility Considerations
In previous releases, the bwdist function used differe n t algorithms for computing the Euclidean distance transform and the associated label matrix. If you need the sam e results produced by the prev io us implementation, use the function

Modified Behavior for the regionprops ConvexHull Property

The 'ConvexHull' property of regi onpr ops depends on the MATLAB
convhull function. Due to changes in convhull, the results returned by 'ConvexHull' will now be slightly different than in previous releases.
Compatibility Considerations
The order of the vertices returned by the 'ConvexHull' property of
regionprops may differ from that returned in releases before R2009b. Also,
the returned hull m ay contain additional collinear points that were omitted in previous releases.
bwdist_old.
12
Efficient D isplay and Navigation of Very Large NITF-File Images in imtool
The rsetwrite function allows you to create multi-resolution image pyramids (R-Sets) that you can open in only with TIFF files. Now it accepts NITF files, as well, as long as they are Version 2.0 or greater, contain an uncompressed image, have integer data (no floating point data), and have three or fewer image bands. Finally, if a NITF file has more than one band of data, the data must be unsigned.
imtool. In previous releases, rsetwrite worked

Performance Improvements

The performance of several existing toolbox functions has been improved in this release. In some cases, other toolbox functions call these functions and therefore will also benefit from these speed improvements.
Faster Functions
bwdist
imcomplement
imdilate
imerode
imfilter
improfile
imrotate
Multithreaded Functions
applylut
bwpack
bwunpack
imdilate
imerode
Version 6.4 (R2009b) Image Processing Toolbox
imreconstruct
13
Image Processing Toolbox™ Release Notes

Version 6.3 (R2009a) Image Processing Toolbox

This table summarizes what’s new in Version 6.3 (R2009a).
New Features and Changes
Yes Details belo
The follo version:
“Faster
Measuri
“Multit
“Effic
page 15
“New D
“New i
page 1
w
wing sections describe new features and changes introduced in this
, Less Memory-Intensive Workflow for Labeling Regions and
ng Their Properties” on page 15
hreaded Implementation of imfilter Function” on page 15
ient Display and Navigation of Very Large Images in imtool” on
ialog B o x for Setting Toolbox Preferences” on page 15
mcolormaptool Function That Opens Choose Colormap Tool” on 6
Version Compatibility Consideratio
Yes—Details labeled as
Compatibility Considerations,
below. S e e als o Summary.
ns
Fixed Bugs and Known Problems
Bug Reports Includes fix
es
Related Documentation at Web Site
Printable Release Notes: PDF
Current product documentation
14
“End
“nit
“Sup
“ge
“Fi
“F
Point and Branch Point Detection Now Possible” on page 16
fread N ow Allows Image Subregion Selection” on page 16
port for Intel IPP on M ac” on page 16
tColor, getLabelVisible, a n d s etL a be lVisi bl e Methods Added to
istline” on page 17
imd
ve Functions Moved to MATLAB” on page 17
an-Beam Functions Updated” on page 17
Version 6.3 (R2009a) Image Processing Toolbox™
Faster, Less Memory-Intensive Workflow for Labeling Regions and Measuring Their Properties
The bwconncomp function computes connected components for binary images. It uses significantly less memory and is sometimes faster than
bwlabeln.
bwlabel and
To extract features from a binary image using connectivity, just pass To compute a labe l matrix havin g more m emory-efficient data type (e .g. , versus double), use the labelmatrix function on the output of bwconncomp.
BW directly into r egionprops (i.e., regionprops(BW)).
regionprops with default
uint8

Multithreaded Implementation of imfilter Function

The i mfil ter function is now multithreaded.

Efficient D isplay and Navigation of Very Large Images in imtool

The new rsetwrite function allows you to create a multi-resolution image pyramid (R-Set) from a large TIFF image file. In previous releases, large images would not open in YoucannowopenyourR-Setwith standard image.
imtool, or they did open, but navigation was slow.
imtool and explore it as you would a

New Dialog Box for Setting Toolbox Preferences

A new preferences dialog box allows customization of Image Proce ssing Toolbox™ preferences. You can access the dialog box via the File menu in the MATLAB desktop, the File menu in the Image Tool ( the command line by typing
iptprefs.
imtool), or directly from
A new preference has been added that allows you to specify w he the r the Overview tool opens automatically when you launch the Image Tool.
Compatibility Considerations
In previous releases, the Overview tool opened automatically with imtool. ThenewdefaultbehaviorisfortheOverviewtooltonolongeropen
15
Image Processing Toolbox™ Release Notes
automatically. If you would like to revert to the previous behavior you can set this preference via the Image Processing Preferences dialog box (
iptprefs).
In previous releases, if you changed the preferences with the command, these changes would revert to the default setting when you finished a MATLAB session. Now, if you change preferences, these changes will remain intact from one M ATLAB session to the next.
iptsetpref

New imcolormaptool Function That Opens Choose Colormap Tool

The new function imcolormaptool opens the Choose Colormap tool. The Choose Colormap tool allows you to interactively change the colormap of a displayed image. You can also access the tool from the Tools menu of the Image Tool, as in previous releases.

End Point and Branch Point Detection Now Possible

bwmorph now detects end points and branch points in binary images.

nitfread Now Allows Image Subregion Selection

The nitfread function now includes a PixelRegion parameter that returns a subimage as specified by row and column vectors.
Compatibility Considerations
From R2007a to R2008b, the nitfread function returned uint8 data for images with 1-bit data. Now 1-bit data. If you want this function to behave as it did in the past, enter the following:
nitfread returns logical data for images with
16
imdata = uint8(nitfread(filename));

SupportforIntelIPPonMac

In previous releases, the Image Processing Toolbox leveraged the Intel Integrated Performance Primitives (Intel IPP) Library on 32- and 64-bit
®
Linux the Mac
and Windows®platforms. Now Intel IPP-use has been extended to
®
.
Version 6.3 (R2009a) Image Processing Toolbox™
getColor, getLa Methods Added to
imdistline now i
used to draw a sp
setLabelVisi
Distance tool
ble
text label.
Five Functio
The followin MATLAB: behavior of compatibil
g five functions moved from the Im age Processing Toolbox to
rmute
cmpe
some of the functions has changed slightly, as described in the
ity considerations listed below.
belVisible, and setLabelV i sible
imdistline
ncludes a
ecific ROI object. Also, the new
methods make it possible to control the visibility of the
getColor method that returns the color
getLabelVisible and
ns Moved to MATLAB
, cmunique, dither, imapprox,andrgb2ind.The
Compatibility Considerations
Functions dither and imapprox, when called without output arguments,
no longer display their output as an image via a call to you want to display the resulting image, assign the output to one or more variables and call
[Y,newmap] = imapprox(X,map,n) imshow(Y,newmap)
imshow. For example, try the following:
imshow.Now,if
Function rgb2ind errors when called with the syntax rgb2ind(RGB).You
must specify the number of colors, tolerance, or colorm ap. For example, you can use the synt ax number of colors.
Function
As with
imapprox errors when called with the syntax imapprox(x,map).
rgb2ind, you must specify additional parameters.
rgb2ind(RGB,128),where128 represents the

Fan-Beam Functions Updated

Compatibility Considerations
Due to a bug fix, the fan-beam functions (fanb eam, ifanbeam, fan2para,
para2fan) now return different answers than in previous releases.
17
Image Processing Toolbox™ Release Notes

Version 6.2 (R2008b) Image Processing Toolbox

This table summarizes what’s new in Version 6.2 (R2008b).
New Features and Changes
Yes Details belo
w
Version Compatibility Consideratio
Yes—Details labeled as Compatibility Considerations, below. See also Summary.
The follow version.
“Perform
“New cor
“Now Sup
MatTRC”
“New cr
“Inter
“The i
All Si
ing sections describe new features and changes introduced in this
ance Improvements” on page 19
nermetric Function Detects Corners” on page 19
port Absolute Colorimetric Rendering Intent for GrayTRC and
on page 19
eateMask Method Creates Mask for Any ROI” on page 19
active Tools Refresh when Target Image Changes” on page 19
mscrollpanel ’PreserveView’ Param eter Now Works for Images of
zes” on page 20
ns
Fixed Bugs and Known Problems
Bug Reports Includes fix
es
Related Documentation at Web Site
Printable Release Notes: PDF
Current product documentation
18
“Dist
“In i
“im
“Re
“i
“i
ance Tool and Cropping Tool Now Modes in imtool” on page 20
mtool O pe ning Adjust Contrast Tool No Longer Selects Window/Level ”onpage20
Tool
movie Command No Longer Shows Preview” on page 21
place Calls to ipttable Function with MATLAB uitable Function” on
e21
pag
mcontour Second Output Argument Changed” on page 22
mpixelinfo Tool Disappears when Image Changes” on page 22
Version 6.2 (R2008b) Image Processing Toolbox™
“Some Code Moved into Different Directories” on page 23
“Functions and Demos Being Removed” on page 23

Performance Improvements

The performance of several existing toolbox functions has been improved in this release, including:
Binary erosion and dilation (
rangefilt)
graycomatrix
Image arithmetic and filtering now leverage the IPP Library on 32- and
64-bit Windows and Linux platforms.
imdilate, imerode, bwhitmiss,and

New cornermetric Function Detects Corners

New cornermetric function detects corners.
Now Support Absolute Co lorimetric Rendering Intent for GrayTRC and MatTRC
New additions to the makecform syntax include rendering intents for the Matrix/Tone Reproduction Curve ( Reproduction Curve (
GrayTRC) model.
MatTRC) model and the single-channel Tone

New createMask Method Creates Mask for Any ROI

Use the new createMask method to return a mask, or binary image, that is the same size as the input image with 1s inside the ROI object and 0s outside. The new method is available in the following classes:
imrect, imellipse, impoly,andimfreehand.
impoint, imline,

Interactive Tools Refresh when Target Image Changes

The following modular interactive tools now update automatically if you modify the target image: Adjust Contrast, Pixel Region, Pixel Information, Overview, Display Range, and Image Information.
19
Image Processing Toolbox™ Release Notes
The imscrollpan Works for Images
The re plac eImag You can now use t replacement i image will app in the origina
mage is not the same size as your original image. The new
ear with the center of view in the same relative position as
limage.
el ’PreserveView’ Parameter Now
of All Sizes
e
function in the imscrollpanel API has been modified.
he
'PreserveView' parameterevenincaseswhereyour
Compatibility Considerations
In previous r imagetoapp
Distance T
eleases, the default for different size images was for the new ear centered and at 100% magnification.
ool and Cropping Tool Now Modes in
imtool
The Distan Distance release t tool, you you want instead
Compatibility Considerations
In prev length
ce tool and Cropping tool have been modified. Now to use the
tool, you click one end of the distance to be measured, drag, and
o complete the measurement. With the new version of the Cropping
may click and drag to define the cropping region as many times as . If you define one region and then decide to crop a different region
, simply click and drag the mouse again to define the new region.
ious releases, the Distance tool appeared as a horizontal bar of set
. You could drag the ends of the tool to change size and orientation.
20
vious releases, if you defined one cropping region, you could move
In pre
ox or change the size, but you couldn’t start with a new box unless
this b
nceled the tool, clicked on the “Crop Image” toolbar button, and then
you ca
ned the new region.
defi
In im Sel
Whe lon Wi
tool Opening Adjust Contrast Tool No Longer
ects Window/Level Tool
n you open the Adjust Contrast tool, the W indo w/Level tool is no
ger turned on automatically. To operate this feature, simply select the
ndow/Level tool icon from the Image Tool toolbar. (To identify the icon,
Version 6.2 (R2008b) Image Processing Toolbox™
note that if you move the cursor over the Window/Level tool i con, the words “Adjust contrast/brightness via mouse motion” appear.) Or, you can select “Tools” from the Image Tool menu and then click on “Window/Level.”
Compatibility Consideration
In previous releases, when you opened the Adjust Contrast tool, the Window/Level tool automatically turned on at the same time. Note that the Window/Level tool still turns on when you call line.
imcontrast from the command

immovie Command No Longer Shows Preview

immovie no longer opens a figure window to display the movie as it is being
created. You can display and explore the output of
Compatibility Consideration
If you want to use movie to visualize the output but don’t know how to set up the figure appropriately, call before calling
movie.
imshow ononeofthemovieframesfirst
immovie using implay.

Replace Calls to ipttable Function with MATLAB uitable Function

The iptta ble function is being deprecated and will be removed in a future release.
Compatibility Consideration
If you used the ipttable function to display tabular data, you should replace use of
If you used the cell array syntax of your code to achieve a similar effect using about using
R2008a Code R2008b Co de
table = ipttable(parent,cell_array_data);
ipttable with the MATLAB function uitable.
ipttable, make the following changes to
uitable,seetheuitable function reference page.
table = uitable(parent,'Data',cell_array_data);
uitable. For more information
21
Image Processing Toolbox™ Release Notes
If you used the struct syntax of ipttable, make the following changes to your code to achieve a similar effect with
R2008a Code R2008b Co de
table = ipttable(parent,struct_data);
field_names = fieldnames(struct_data); values = struct2cell(struct_data); for idx = 1:numel(values)
val = values{idx}; if ~ischar(val) || size(v al,1) > 1
evalc('disp(values{idx})');
end end table = uitable(parent,'Data',
Code written in previous releases that depends on ipttable will begin to warn and eventually error in later releases.
uitable.
values{idx} =
[field_names values]);
22

imcontour Second Output Argument Changed

The second output argument of imcontour is now a handle to an hggroup object instead of an array of handles to patch objects.
Compatibility Consideration
If you need to access handles of individual patch objects, use the following code to work around the change.
[c, handleToHGGroup] = im contour(..); arrayOfHandlesToPatchObjects = get(handleToHGGroup, 'Child');

impixelinfo Tool Disappears when Image Changes

If you use imshow todisplayanimage,opentheimpixelinfo tool, and use
imshow to open a new image, the impixelinfo tool will disappear along with
the first image.
Version 6.2 (R2008b) Image Processing Toolbox™
Compatibility Considerations
In previous versions, if you entered the following code:
imshow pout.tif impixelinfo imshow peppers.png
the impixelinfo tool would update to reflect changes to the image. Now you must call the
impixelinfo tool again after opening the second image.

Some Code Moved into Different Directories

Colorspace functionality moved into the new toolbox/images/c olor spaces
directory.
Medical file formats moved into the
with other file formats, and the
toolbox/images/iptformats directory
toolbox/images/medformats directory
was removed.

Functions and Demos Being Removed

Function or Demo Name
pixval
dctdemo
edgedemo
firdemo
landsatdemo
nrfiltdemo
What Happens When You Use Function or Demo?
Errors Use
Errors
Errors
Errors
Errors
Errors
Use This Instead
impixelinfo for
pixel reporting and
imdistline
for measuring distance.
NA
NA
NA
NA
NA
Compatibility Considerations
Replace all existing instances of
pixval with impixelinfo or imdistline.
None
None
None
None
None
23
Image Processing Toolbox™ Release Notes
Function or Demo Name
qtdemo
roidemo
What Happens When You Use Function or Demo?
Errors
Errors
Use This Instead
NA
NA
Compatibility Considerations
None
None
24
Version 6.1 (R2008a) Image Processing Toolbox™

Version 6.1 (R2008a) Image Processing Toolbox

This table summarizes what’s new in Version 6.1 (R2008a).
New Features and Changes
Yes Details belo
w
Version Compatibility Consideratio
Yes—Details labeled as Compatibility Considerations, below. See also Summary.
The follow version.
“Create H
on page 2
“Measur
“Displa
“Enhan
“Enhan
“cp2t
ing sections describe new features and changes introduced in this
igh Dynamic Range (HDR) Images and Write Them to Files”
5
e Properties of Regions in Grayscale Images” on page 26
y Very Large Images by Subsampling” on page 26
cements to ROI Tools” on pag e 26
cements to Color Functions” on page 27
form Function Supports New Transformations” on page 28
ns
Fixed Bugs an d Known Problems
Bug Reports Includes fix
es:
Related Documentation at Web Site
Printable Release Notes: PDF
Current product documentation
“houg
“Enh
“New
“Enh
Cre The
Cr im
h Function Uses Specified RhoResolution Values” on page 28
ancements to Interactive Tools” on page 28
and Updated Demos” on page 28
ancements to Other Functions” on page 29
ate High Dynamic Range (HDR) Images and Write
mtoFiles
eate a high dynamic range image from a g roup of low dynamic range ages using the new
makehdr function. The low dynamic range images must
25
Image Processing Toolbox™ Release Notes
be spatially registered. You can write the HDR image to a file using the
hdrwrite function. These functions complement the hdrread and tonemap
functions introduced in R2007b.

Measure Properties of Regions in Grayscale Images

The regionprops function now accepts grayscale images as an input parameter, returning measurements based on the values of pixels in specified regions. Using image such as the maximum, minimum, and mean intensities in the region, and the weighted centroid.

Display Very Large Images by Subsampling

You can now display very large images from TIFF files by using the imshow function’s new 'Reduce' parameter. When you specify this parameter,
imshow displays a subsampled version of the image. imshow determines the
subsampling factor by considering the size of the image and the reduction required to fit the image on your screen. The possible to view very large images in their entirety that could not previously be displayed. Note, however, that the image subsampling that is performed reduces that amount of image data displayed.
regionprops, you can obtain measurements of regions in the
'Reduce' parameter makes it
26

Enhancements to ROI Tools

The toolbox includes several functions that enable the definition of regions of interest of various shapes:
imfreehand. These ROI tools have several enhancements:
ROI Tools Reimplemented as MATLAB Classes
The ROI tools have been reimplemented as MATLAB classes. This change does not affect how the ROI tools function; they function identically to their previous implementation. The documentation uses the MATLAB functional syntax descriptions rather than the dot notation. That is, the documentation shows how to call the class methods specifying a handle to the object as the first argument, dot notation when calling the methods,
iptgetapi function now returns an object of the new class which means that
code similar to the following will continue to work:
method(h,...). Note, however, that you can still use the
impoint, imline, impoly, imrect,and
obj.method(...).Inaddition,the
Version 6.1 (R2008a) Image Processing Toolbox™
api = iptgetapi(h) api.method()
Compatibility Consideration. The class of the data returned by the ROI tools is now a handle to an ROI class, such as
imline or impoly.Inaddition,
several undocumented methods supported by the ROI tools have been removed: and
getContextMenu, setContextMenu, getDrawAPI, addCallback,
removeCallback.
ROI Tools Support New wait and resume Methods
The ROI tools now support wait and resume methods so that they can be used in scripts. By using the make the initial placement of the ROI, adjust the ROI and accept it, and then use the position in the script. For example, using the ROI tool, you could write a script that creates a mask.
The
resume method is a programmatic way to return control to the command
line. When called after position of the ROI.
wait method, you can enable users of your script to
wait method with an
wait, resume causes wait to return the accepted
Interactively Add New Vertices to ROI Polygons
You can now add vertices interactively to polygonal ROIs that you define using the
impoly function. To create the new vertex, position the pointer over
an edge of the polygon and press the A key. The pointer changes shape. Click the mouse to add a new v ertex. The use
impoly to implement ROIs, also support this new capability.
roifill and roipoly functions, which

Enhancements to Color Functions

The following color functions have been enhanced.
makecform Supports Converting Between sRGB and CMYK
The makecfor m function now supports two new color space conversion types for converting between sRGB and CMYK:
'srgb2cmyk' and 'cmyk2srgb'.
27
Image Processing Toolbox™ Release Notes
iccwrite Creates Smaller ICC Profiles
The iccwrite function now uses certain optimizations to reduce the size of the International Color C onsortium (ICC) color p rofiles that it creates.
iccwrite uses aliasing to avoid writing tag data multiple times when it is
included in more than one profile table.

cp2tform Function Supports N ew Transformations

The cp2tform function supports two new transformation types: 'similari ty' and 'nonreflective similarity'.
Compatibility Consideration
The 'l inea r conformal' transformation type supported by the cp2tform function has been renamed to 'nonreflective similarity'.

hough Function U ses Specified RhoResolution Values

The hough function no w uses the value you specify for the 'RhoResolution' parameter. In previous releases, the function did not us e the value specified.
28
Compatibility Consideration
The Hough matrix, H,andtheRho outputs returned by the hough function have different results than those obtained from the same function in previous releases.

Enhancements to Interactive Tools

The following modular interactive tools have been enhanced.
Adjust Contrast tool (
Adjust Contrast tool is disabled until you make a change to image contrast.
PixelRegiontool(
pixels being examined, the Pixel Region tool stops including grid lines in the display at low magnifications.
imcontrast)—TheAdjust Data button in the
impixelregion) — To improve the visibility of the image

New and Updated Demos

The toolbox includes the following new and changed demos.
Version 6.1 (R2008a) Image Processing Toolbox™
Batch Processing Image Files in Parallel is an existing demo that has been
updated, and simplified, through use of the
parfor function.
Detecting Cars in a Video of Traffic is a new demo that shows how to use
the toolbox to visualize and analyze videos or image sequences.
Measuring Regions in Grayscale Images is a new demo that shows how to
use the
regionprops function with grayscale images.

Enhancements to Other Functions

This release includes changes to the following functions.
Function
imageinfo
imshow
imtool
truesize
Description of Enhancem en t
Accepts files of several additional file formats as an input argument, including NITF, Interfile, and Analyzefileformats.
Supports a new colormap parameter for specifying a colormap for grayscale images.
Supports a new colormap parameter for specifying a colormap for grayscale images.
Preserves the border preference setting of the figure when adjusting the image display size.
29
Image Processing Toolbox™ Release Notes

Version 6.0 (R2007b) Image Processing Toolbox

This table summarizes what’s new in Version 6.0 (R2007b).
New Features and Changes
Yes Details belo
w
Version Compatibility Consideratio
Yes—Details labeled as Compatibility Considerations, below. See also Summary.
New featur
“New Inte
“Image To
Saving o
“New Fun
on page 3
“New Fu
32
“Enha
on pag
es and changes introduced in this version are
ractive Image Sequence and Video Viewer” on page 31
ol Includes Cropping, Enhanced Contrast Adjustment, and
f Modified Images” on page 31
ction for Converting Bayer Pattern Encoded Images to RGB”
1
nction for Creating a Multiresolution Gaussian Pyramid” on page
nced ROI Definition Behavior for
e32
ns
Fixed Bugs an d Known Problems
Bug Reports Includes fix
es:
imcrop, roifill,androipoly”
Related Documentation at Web Site
Printable Release Notes: PDF
Current product documentation
30
“New M
“New
“Sup
“En
“DI
“Ch
odular Interactive GUI-building Tools” on page 32
Programmable ROI Tools” on page 32
port for Reading NITF and HDR Images” on page 33
hanced Performance ” on page 33
COM Dictionary Upgrade” on page 33
anges to Other Functions” on page 34
Version 6.0 (R2007b) Image Processing Toolbox™
New Interactive
The toolbox now s Movie Player (
Play a MATLAB mo
Step through a
the beginning
Examine a fra
Image Tool.
Image Tool I Adjustment
The Image T
You can now
operation image, no Data in th
You can n
the Crop Image button Tools menu).
upports a new interactive image sequence viewer, called the
play
im
movie or sequence of images, frame-by-frame, or jump to
or end of the sequence.
me using the Pixel Region too l or export the frame to the
ncludes Cropping, Enhanced Contrast
, and Saving of Modified Images
ool (
imtool) supports several enhancements:
modify the image data after performing a contrast adjustment
. Previously, contrast adjustment only affected the display of the
t the actual image data. To modify image data, click Adjust
eAdjustContrasttool.
ow interactively crop an image displayed in th e Image Tool using
ImageSequenceandVideoViewer
). Using the Movie Player you can:
vie, AVI file, or mul tidimensional array.
in the toolbar (or select Crop Image from the
Youcannowsavetheimagedisplayedintheimagetoolinanyofseveral
common image file formats. Select Save As from the Image Tool File menu.

New Function for Conver ting Bayer Pattern Encoded Images to RGB

The toolbox now supports a function, demosaic, that can convert a Bayer pattern encoded image into an RGB image.
A Bayer filter mosaic, or color filter array, refers to the arrangement of color filters that let each sensor in a single-sensor digital camera record only red, green, or blue data. The patterns emphasize the number of green sensors to mimic the human eye’s greater sensitivity to green light. The function uses interpolation to convert the two-dimensional Bayer-encoded image into a truecolor image, in the RGB color space.
demosaic
31
Image Processing Toolbox™ Release Notes

New Function for Creating a Multiresolution Gaussian Pyramid

The toolbox now supports a function, impyramid, that you can use to create a multiresolution Gaussian pyramid. If you specify the
impyramid returns a low-pass filtered version of the image, half the size
of the original image. If you specify the ’expand’ parameter, returns a filtered image twice the size of the original image. impyramid uses convolution with a Gaussian filter kernel to produce the images.
Enhanced ROI Definition Behavior for imcrop, roifill, and
The imcrop, roifill,androipoly functions now let you define an ROI and then adjust the size and position of the ROI interactively using the mouse. In previous releases, these functions supported the interactive definition of ROIs, but only gave you one chance at the definition. Now, when you are satisfied with the size and shape of the ROI, double-click to perform the cropping, filling, or mask creation operation.
roipoly
'reduce' parameter,
impyramid
32
Compatibility Consideration
In previo us releases, when defining a polygonal ROI using roipoly,pressing Backspace deleted the most recent vertex youhaddefinedinthepolygon. With this release, pressing Backspace deletes the entire polygon. To delete an in dividu a l vertex, move the pointer over the vertex, right-click to view the vertex context menu, and then choose Delete Vertex.

New Modular Interactive GUI-building Tools

The set of modular interactive tools now includes functions to display a file chooser dialog box and write data to a file ( afunction( the user’s selections.
imputfile) that displays the file chooser dialog box and returns
imsave). The toolbox also includes

New Programmable ROI Tools

The set of programmable ROI creation functions provided by the toolbox now includes three additional shapes:
Polygons (impoly)
Version 6.0 (R2007b) Image Processing Toolbox™
Ellipses (
Freehand shapes (
The toolbox already includes ROI creation functions to create points, lines, and rectangles.
Each of the ROI creation functions supports an API that you can use to control aspects of its behavior and appearance. For example, you can use API functions to specify the position of the ROI or retrieve the coordinates of its current position.
imellipse)
imfreehand)

Support for Reading NITF and HDR Images

Read metadata from a National Imagery Transmission Format (NITF)
file using
Read an image from a NITF file using
Read high d ynam ic range (HDR) images using
Convert high dynamic range images into a format that can be displayed
using the
nitfinfo.
nitfread.
hdrread.
tonemap function.

Enhanced Performance

Enhanced performance for thinning and skeletonization using bwmorph.
Enhanced performance for filtering RGB images using
imfilter.

DICOM Dictionary Upgrade

The default DICOM dictionary has been upgraded to the 2007 version released by NEMA. A text version of this dictionary is included in the product,
dicom-dict.txt. This upgrade fixes a problem with the earlier version of
the d ictionary which contained two instances of the same tag, which caused warnings.
33
Image Processing Toolbox™ Release Notes
Compatibility Consideration
If your DICOM code depends on hard-coded old attribute names, you may see failures. In addition, some DICOM files may no longer parse. C ustomers who require attribute settings from the 2005 version can use the function to access the old data dictionary, which we are shipping in R2007b. That is,
dicom-dict.txt will have 2007 values and dicom-dict-2005.txt is
the v ersion of

Changes to Other Functions

This release includes changes to the following functions.
dicomdict
dicom-dict.txt found in R2006a and R2007a.
Function
imshow
Description of Change
Is not supported when MATLAB is started with the
imhist
fanbeam,ifanbeam,fan2para,para2fan
Can now be embedded in custom GUIs.
The fan-beam functions now return different answers than in previous releases due to a bug fix.
imadjdemo
This demo has been deleted from the toolbox.
-nojvm option.
34
Version 5.4 (R2007a) Image Processing Toolbox™

Version 5.4 (R2007a) Image Processing Toolbox

This table summarizes what’s new in Version 5.4 (R2007a).
New Features and Changes
Yes Details belo
w
Version Compatibility Consideratio
Yes—Details labeled as Compatibility Considerations, below. See also Summary.
New featur
“Enhancem
“applycf
“Control
“Enhanc
“Enhanc
“Compa
“Chang
Enhan
imres
metho
es and changes introduced in this version are
orm Supports Tetrahedral Interpolation” on page 36
Point Selection Tool Enhancements” on page 36
ements to impoint, imline, and imrect Functions” on page 36
ements to montage Function” on page 37
tibility Considerations” on pa ge 37
es to Other Functions” on page 37
cements to imresize Function
ize
now runs faster, uses less memory, supports new interpolation
ds, and supports new options for specifying output size.
ns
ents to imresize Function” on page 35
Fixed Bugs an d Known Problems
Bug Reports Includes fix
es
Related Documentation at Web Site
Printable Release Notes: PDF
Current product documentation
Compatibility Consideration
mresize
The i
options, and new syntaxes. If you need the results produced by the
new
sion of
ver
function has been completely rewritten with new algorithms,
imresize in previous releases, use the imresize_old function.
35
Image Processing Toolbox™ Release Notes

applycform Suppor ts Tetrahedral Interpolation

The applycform function now uses tetrahedral interpolation for profiles containing multidimensional lookup tables, and returns more accurate results.
Compatibility Consideration
The results returned by applycform are more accurate but they are different than results returned in previous releases, for profiles containing multidimensional lookup tables.

Control Point Selection Tool Enhancements

The Control Point Selection Tool has enh a nced visual appearance and usability. For example, points are now numbered for easier identification of matched pairs.
In addition, the tool now supports a to be us ed in scripts. When you specify this option, cpselect blocks the MATLAB command line until point selection is completed. For information about using the Control Point Selection Tool, see “Image Registration” and the reference page for the
cpselect function.
'wait' option which enables cpselect
Compatibility Consideration
The Control Point Selection Tool no longer includes the Redo or Undo options on the Edit menu.

Enhancements to impoint, imline, a nd imrect Functions

The impoint, imline,andimrec t function now support an interactive placement capability. Using the mouse, you can specify the initial position of the point, line, or rectangle. In addition, the interactive resizing using the mouse. See the reference pages for these functions for more information and examples.
imrect function now supports
36
Version 5.4 (R2007a) Image Processing Toolbox™
Enhancements to
The montage func and appearance o these function
Compatibilit
tion now supports parameters that control the arrangement f the images displayed. See the
s for more information and examples
y Considerations
montage Function
montage reference page for
makecform Uses ’icc’ Whitepoint for L*a*b*/sRGB Conversions
m
The makec for space conve L*a*b* (ty p white point parameter. besides
'i
function now only uses the white point type 'icc' for color
rsions from L*a*b* to srgb (type =
e=
'srgb2lab'). In previous releases, you could specify other
values for these conversions, using the optional This syntax now issues a warning when any other white point
cc'
is specified.
'lab2srgb')andfromsrgb to
'Whitepoint'
normxcorr2 Might Return Different Results
corr2
The normx In previo certain
inputs.
us releases,
function now returns values in the range [-1,1] for all inputs.
normxcorr2 returned values outside this range for
watershed Function Uses New Algorithm
The wat change basins previ
ershed transform algorithm used by the d. The previous algorithm occasionally produced labe le d watershed that were not contiguous. If you need to obtain the same results as the
ous a lgorithm, use the function
watershed_old.
watershed function has
Chang
This
es to Other Functions
release includes changes to the following functions.
37
Image Processing Toolbox™ Release Notes
Function
imshow
imscrollpanel
iradon
iptsetpref
Description of Change
New 'border' parameter, to control whether imshow includes a border around the image displayed, and
'parent'
parameter, to specify the axes in which to display the image.
New 'replaceImage' pa ra m eter lets you replacetheimagedisplayedinthescroll panel with a new image.
New 'none' value for the filter parameter returns an unfiltered backprojection; also supports new interpolation types.
New UseIPPL preference.
38
Version 5.3 (R2006b) Image Processing Toolbox™

Version 5.3 (R2006b) Image Processing Toolbox

This table summarizes what’s new in Version 5.3 (R2006b).
New Features and Changes
Yes Details belo
w
Version Compatibility Consideratio
Yes—Details labeled as Compatibility Considerations, below. See also Summary.
New featur
“Enhancem
“New Symm
“Enhance
“Enhanc
“setCol
Enhanc
This re DICOM
es and changes introduced in this version are
ents to DICOM Capabilities” on page 39
ments to ICC Color Capabilities” on page 40
ements to the imdistlineFunction”onpage40
or Method Accepts Predefined Color Strings” on page 41
ements to DICOM Capabilities
lease includes the following new feat ures and enhancements to the
capabilities of the Image Processing Toolbox:
Fixed Bugs an d Known Problems
ns
Bug Reports Includes fix
etric Option with graycomatrix Function” on page 39
es
Related Documentation at Web Site
No
The to
The p
New
The Wi
at is symmetric about its diagonal. This is consistent with the GLCM
th
olbox includes a new function,
he name of an attribute in a DICOM data dictionary by specifying its
find t
p and element tags, or find the group and element tags for an attribute
grou
ecifying its name.
by sp
erformance of the
dicominfo function has been significantly improved
Symmetric Option with graycomatrix Function
graycomatrix function now supports a new option: 'symmetric'.
th this option, you can create a gray -level co-occurrence matrix (GLCM)
dicomlookup,thatprovidesawayto
39
Image Processing Toolbox™ Release Notes
definition given by Haralick in his 1973 article. For more information, see
graycomatrix.

Enhancements to ICC Color Capabilities

The toolbox includes the following enchancements to the ICC color capabilities:
The
The
applycform function can now transform colors using profiles that
contain parametric curve types.
iccread function now supports named colors in ICC profiles.
Compatibility Considerations
The whitepoint function, when used with the 'd50' argument, returns different results in R2006b than it did in R2006a. The previously returned XYZ color values were incorrect according to the current interpretation of standards. If your algorithm depended on the old values, you might see subtly different results.

Enhancements to the imdistline Function

This release includes the following enhancements to the imdistline function:
The
The
imdistline function now uses a different cursor shape at its endpoints
to highlight that these endpoints can be grabbed to change the length or direction of the line. The function uses a hand cursor over endpoints and a fleurcursoroverthebodyoftheline.
imdistline function reference page now includes an example that
shows how to use the to express distance in non-pixel units.
XData and YData properties of the as sociated image
40
Compatibility Considerations
The Distance Tool’s getAngleFromHorizontal method now returns a value between 0 and 180 degrees. Previously, this function incorrectly returned a value between 0 and 90. For an explanation of how calculates this angle, see the imdistline function.
getAngleFromHorizontal
Version 5.3 (R2006b) Image Processing Toolbox™

setColor Method Accepts Predefined Color Strings

The setColor m ethod of the imdistline, imline, impoint,andimrect functions accepts an RGB triplet or the short- or long-name version of the MATLAB predefined color names.
41
Image Processing Toolbox™ Release Notes

Version 5.2 (R2006a) Image Processing Toolbox

This table summarizes what’s new in V5.2 (R2006a).
New Features and Changes
Yes Details belo
w
Version Compatibility Consideratio
Yes—Details labeled as Compatibility Considerations, below. See also Summary.
New featur
“Enhanced
“New Poin
“New Cons
“Compat
“IPPL No
Enhanc
The icc chang
es and changes introduced in this version are
ility Considerations” on page 43
tUsedon64-BitSystems”onpage43
ed ICC Profile Capabilities
read
es to the ICC specification.
ns
ICC Profile Capabilities” on page 42
ter Management Functions” on page 43
traint Creation Function” on page 43
and iccwrite functions have b een updated to support recent
Fixed Bugs an d Known Problems
Bug Reports Includes fix
es
Related Documentation at Web Site
No
42
ition,
In add
:
types
Devi
anot
Col
spa
Abs
ecific color effects.
sp
iccread can now read and process the following additional profile
ceLink profiles — Provide transformation from one device space to
her.
orSpace profiles — Provide transformation between a non-device color ce and the profile connection space (PCS).
tract profiles — Enable color transformations to be defined that provide
Version 5.2 (R2006a) Image Processing Toolbox™
Grayscale profiles — Specify the relationship between device values and
the PCS for specific colors.
In addition,
iccread can now read parametric curve types.

New Pointer Management Functions

The toolbox includes three new utility functions, iptPointerManager,
iptGetPointerBehavior,andiptSetPointer Beh avior,thatyoucanuseto
manage cha n ges to the pointer in GUIs. For example, you can use the pointer management functions to change the appearance of the pointer when it moves over objects in a figure. These functions can be useful when building GUIs with the toolbox modular GUI tools.

New Constraint Creation Function

The toolbox includes a new utility function, makeConstrainToRectFcn, that you can use to specify drag constraints for the
impoint,andimrect functions. You specify the constraints as arguments
to the constraint function. To use this constraint with an object, set the value of the
setConstraintFcn API for the object to this function handle.
makeConstrainToRectFcn and this function returns a handle to a
imdistline, imline,

Compatility Considerations

When using the cp2tform, tforminv,orimtransform functions with the transform type previous versions due to a bug fix. If you have a transformation structure (
TFORM) saved fro m an older version, you may want to regenerate it from
control points to get improved performance.
'piecewise linear' you might get different answers from

IPPL Not Used on 64-Bit Systems

CertainfunctionsintheImageProcessing Toolbox, such as the image arithmetic functions, use the Intel Performance Primitives Library (IPPL), if it’s available. (See not use the IPPL on 64-bit systems.
ippl for more information.) Note that these functions do
43
Image Processing Toolbox™ Release Notes

Version 5.1 (R14SP3) Image Processing Toolbox

This table summarizes what’s new in Version 5.1 (R14SP3).
New Features and Changes
Yes Details belo
w
Version Compatibility Consideratio
Yes—Details labeled as Compatibility Considerations, below. See also Summary.
New featur
“Support f
“New Poin
“Image To
“New Uti
Functio
“New Do
“Contr
“Comp
Suppo
The to two a
rmation, see Reading and Writing Data in Medical Formats.
info
es and changes introduced in this version are
lity F u nctions for Use with Profile-Based Color Space Conversion
ns” on page 45
cumentation on Processing Image Sequences” on page 45
ol Point Selection Tool Now Works on Macintosh Systems” o n page 45
atibility Considerations” on page 46
rt for Two New Medical Image File Formats
olbox now includes functions for reading metadata and image data from
dditional medical image file formats. Analyze 7.5 and Interfile. For more
ns
or Two New Medical Image File Formats” on page 44
t, Rectangle, and Line Functions” on page 44
ol Enhancements and Improvem ents” on page 45
Fixed Bugs an d Known Problems
Bug Reports Includes fix
es
Related Documentation at Web Site
No
44
New
The can Th
Point, Rectangle, and Line Functions
toolbox includes three functions,
use to create draggable points, lines, and rectangles in a figure window.
ese functions can be used as building blocks for other GUI tools.
impoint, imline,andimrec t,thatyou
Version 5.1 (R14SP3) Image Processing Toolbox™
Image Tool Enhan
cements and Improvements
New Distance Tool
The Image Tool n determine the available in t
imdistline fu
creation. For
ow includes a new Distance tool that you can use to
distancebetweenanytwopointsinanimage.Thistoolisalso
he toolbox’s suite of modular interactive GUI tools. Using the
nction you can add the Distance tool to GUIs of your own
more information, see Measuring Features in an Image
Adjust Contrast Tool Enhancements and Improvements
The Adjust C examples, t mode with it
New Utilit Color Spa
The toolb with the p Perform
New Docu
The Ima with Im with se
ontrast tool has been redesigned to provide better usability. For
he Adjust Contrast tool W indow/Level capability is now a separate
s own activation button.
y Functions for Use with Profile-Based
ce Conversion Functions
ox has two new utility functions,
rofile-based color conversion functions. For more information, see
ing Profile-based Color Space Conversions.
iccroot and iccfind,foruse
mentation on Processing Image Sequences
ge Proce ssing Toolbox User’s Guide includes a new section, Working
age Sequences, that describes which toolbox functions can be used
quences of image, also known as image stacks
Contr Syst
The C
ol Point Selection Tool Now Works on Macintosh
ems
ontrol Point Selection Tool now works on Macintosh
®
systems.
45
Image Processing Toolbox™ Release Notes
Compatibility C
onsiderations
Obsolete and Deleted Functions
The following t removed in thi
Function Enhancement
impositionrect
pixval
able lists toolbox functions that have been made obsolete or
s version.
This function is obsolete. Use imrect to perform the same tasks.
This function is obsolete. It now issues a warning when used. Use use
imdistline for measuring distance
Image Tool Is Not Compilable
l
The imtoo
function is not compilable with the MATLAB Compiler.
impixelinfo for pixel reporting and
46
Version 5.0.2 (R14SP2) Image Processing Toolbox™

Version 5.0.2 (R14SP2) Image Processing Toolbox

This table summarizes what’s new in Version 5.0.2 (R14SP2).
New Features and Changes
No
Version Compatibility Consideratio
Yes—Details labeled as Compatibility Considerations, below. See also Summary.
New featur
“Major Bug
“Compati
Major Bu
This rel
es and changes introduced in this version are
bility Considerations” on pa ge 51
gFixes
ease contains the following bug fix es.
ns
Fixes” on page 47
Fixed Bugs an d Known Problems
Bug fixes Details
Major Revisions to Fan-Beam Functions
This re functi impro
lease includes numerous updates and improvements to the fan-beam
ons:
fanbeam, ifanbeam, fan2para,andpara2fan.Thefixesinclude
ved calculations, improved documentation, and examples.
Related Documentation at Web Site
No
ample,
For ex
try is
geome
ect defa u lt value for the
corr
beam functions in a previous release, you might try them again to take
fan-
ntage of these improvements.
adva
ddition to the functional changes, many improvements to the
In a
umentation of the fan-beam functions have been made.
doc
nbeam
fa
fanbeam now returns the correct sensor locations when the
'line'.Theifanbeam and fan2para now consistently use the
'FanSensorSpacing' parameter. If you tried the
help now includes
47
Image Processing Toolbox™ Release Notes
An example that shows how to extract projection data at a specific rotation
angle from the fan-beam data returned
An explanation of how
in
F, the fan-beam data returned
The default value for the
and 'arc' geometries
Guidelines for setting the value of the
The help for the to use the
ifanbeam function now includes an example that shows how
'minimal' coverage parameter.
Compatilbility Considerations. Results computed with earlier versions of the fan-beam functions cannot be used with the new versions of these functions.
Changes to the DICOM Functions
Thefollowingfixeshavebeenmadetothedic omread and dicomwrite functions.
Function Bug Fixes
dicomread
dicomwrite
No longer errors when reading files that contain extraneous pixel data; instead, file does not contain enough pixel data,
No longer is case sensitive when parsing input parameters. For
example, you can specify either
fanbeam calculates the number of rows and columns
'FanSensorSpacing' parameter for both 'line'
D parameter
dicomread issues a warning message. However, if the
dicomread issues an error.
'CreateMode' or 'createmode'.
48
Preserves the full precision of data converted to decimal string
metadata. Previously,
dicomwrite limited precision to six digits.
No longer errors when writing files with metadata values that
must be stored as a decimal string or integer string. Now, when writing private data attributes (attributes that are not listed in the DICOM data dictionary), the type
UN (for unknown) and writes the data to the file as a
dicomwrite assigns the attributes
byte-for-byte copy of its in-memory representation. Because
dicomwrite writes the file with explicit value representation (VR),
the file might have a different VR value, but the data will be the same.
Function Bug Fixes
Includes the TriggerTime field for additional values of
ScanOptions, including 'CT'. Previously, dicomwrite only
included the indicated a gated heart MR.
Version 5.0.2 (R14SP2) Image Processing Toolbox™
TriggerTime attribute if the ScanOptions field
No longer issues an
if, when
'create' mode is specified, semantic verification is
not available for an information object. Instead,
Unsupported SOP class error message
dicomwrite
issues a more helpful message indicating that it might be able to write the data if the mode was In
'copy' mode, dico mwri te only performs sy ntactic checking,
not semantic verification. Consequently, manymoretypesofDICOMfilesin
'create' mode. See the dicomwrite reference page for important
'copy’, rather tha n 'create'.
dicomwrite can write
'copy' mode than it can in
information about data integrity.
Changes to Image Tool and Modular Interactive Tools
The following fix es have been made to the Image Tool and other modular interactive tools:
The Image Tool now always makes the Open and Import from
Workspace options available on its File menu. Previously, the Image Tool
disabled these options if the tool contained an imag e. If the Image Tool contains an image, the newly imported image is displayed in a new Image Tool using the default preferences.
The Image Tool zoom buttons can now be used on an image that has
superimposed vector data.
The Image Tool toolbar buttons no longer create multiple versions of the
modular i nteractive tools when clicked rapidly in quick succession.
The Image Information tool now displays correctly on Linux systems.
Previously, it displayed as a blank window.
The Overview tool can now be resized from any corner. Previously, resizing
the tool using a corner other than the lowerleftcausedtheimagetobecome progressively smaller until it disappeared.
49
Image Processing Toolbox™ Release Notes
The Overview tool zoom buttons now provide an affordance that informs
users w hen they cannot use these buttons to zoom in or out on the image displayed in the associated scroll panel.
The Pixel Region to ol now displays floating-point values correctly.
Previously, the pixel value text strings displayed spilled over into adjacent pixels for some floating-point im a ges.
The Pixel Region tool now works correctly with image s displayed in
subplots.
The Pixel Region tool no longer causes the target image to become tiny and
move to a different position in the figure.
Changes to the imshow Function
The imshow function no longer overwrites nondefault axes in a figure.
The
imshow function ignores any initial magnification value you specify
when used to display an image in a figure that is docked (the figure’s
WindowStyle property is set to 'docked'). In these cases, imshow displays
the image at the largest magnification that fits the window (
'fit
magnification) and issues a warning .
Fixes to Other Functions
The following tables lists fixes that have been done to other toolbox functions.
Function Enhancement
applycform
cpcorr
imhist
Now correctly handles profiles that contain a gamut tag.
Now is more numerically robust. For this release, the subfunction
findpeak,whichcpcorr calls, has
been improv ed and is now a private function, rather than a subfunction.
No longer causes a docked figure window to become undocked.
50
Function Enhancement
imrotate
Now correctly rotates N-dimensional arrays, where N i s greater than 3. In previous releases, would accept N-D arrays but only return a 3-D array.
normxcorr2
Now always returns real values. In previous releases, due to roundoff error, some sets of input data caused the complex valued matrix of correlation coefficients.
pixval
rgb2ind
Now works correctly with binary images.
Now returns a correct output image when called with the syntax
rgb2ind(rgb,n,'nodither')
where n is greater than 256.
Version 5.0.2 (R14SP2) Image Processing Toolbox™
imrotate
normxcorr2 function to return a
Fixes to Image Processing Toolbox Deployment Issues
Performance issues that occurred when deploying comp iled image
processing toolbox functions that call IPPL routines have been fixed.
Running compiled versions of
imtool and some of the other modular
interactive tools no longer generates the following warning messages about classes not being cleared:
Warning: Objects of graph ics.linkprop class exist - not clearing this class or any of its super-classes. Warning: An object instance still exi sts. Use the objectdirectory command to see a count of existing instances.

Compatibility Considerations

The Image Processing Toolbox software now requires the following new directory on the MATLAB path:
toolbox\shared\imageslib
51
Image Processing Toolbox™ Release Notes

Version 5.0.1 (R14SP1) Image Processing Toolbox

This table summarizes what’s new in Version 5.0.1 (R14SP1).
New Features and Changes
No No
Version Compatibility Consideratio

Major Bug Fixes

The following are major bug fixes in this release.
DCT Image Compression Demo Now Calculates Mean Squared Error Corr
The 2-D DCT Image Compression demo (dctdemo) previously calculated the mean squared error incorrectly.
Choose C
The Choose Colormap tool now saves the colormap selection when running in a compiled version of the Image Tool.
Image i Adjust Contrast Tool
ously, if you used
Previ
Region tool, and then used the Adjust Contrast tool to adjust the
Pixel
rast of the image, the pixel colors in the Pixel Region tool did not update
cont
erly. This has been fixed.
prop
Fixed Bugs and Known Problems
ns
Bug fixes Details
Related Documentation at Web Site
No
ectly
olormap Tool Now Works with Compiled Applications
n Pixel Region Tool Now Updates When Using the
imtool to display a grayscale image, launched the
52
Version 5.0 (R14) Image Processing Toolbox™

Version 5.0 (R14) Image Processing Toolbox

This table summarizes what’s new in Version 5.0 (R14SP2):
New Features and Changes
Yes Details belo
w
Version Compatibility Consideratio
Yes—Details labeled as Compatibility Considerations, below. See also Summary.
New featur
“New Image
“New Modu
“New Modu
“Hough T
“Textur
“New IC
“New De
“New D
“New I
es and changes introduced in this v ersion are:
ransform” on page 58
e Analysis” on page 59
C Color Profile Export F unctio n” on page 60
mos” on page 61
ICOM Anonymizer Function” on page 61
nteger Lookup Table Function” on page 61
Fixed Bugs an d Known Problems
ns
Bug Fixes Details
Exploration and Enhancement Tool” on page 54
lar Interactive Tools” on page 54
lar Tool Utility Functions” on page 57
Related Documentation at Web Site
No
“New T
“Upd
“Cha
“Ch
“Pe
“Im
“M
oolbox Utility Functions” on page 61
ates to the imshow Function” on page 62
nges to Toolbox Preferences” on page 66
anges to Other Toolbox Functions” on page 67
rformance Improvements” on page 69
proved Memory Usage ” on page 69
ajor Bug F ix es” on page 70
53
Image Processing Toolbox™ Release Notes
“Compatibility Considerations” on page 71
“General Issues” on page 72
“Issues Specific to the Linux Platform” on page 75
“Issues Specific to the Macintosh Platform” on page 75

New Image Exploration and Enhancement Tool

The Image Processing Toolbox includes a new, open-architecture, image exploration and enhancement tool, called the Image Tool.
The Image Tool replaces the Image Viewer, providing all the display and exploration capabilities of its predecessor. For example, you can use the Image Tool to display an image, view general information about the image, get information about individual pixels or regions of pixels in the image, and navigate large images using the Overview navigation window, scroll bars, and magnification tools.
In addition, the Image Tool introduces several new tools, such as the Adjust Contrast tool and the Choose Colormap tool. You can use the Adjust Contrast tool to adjust the brightness and contrast of an image interactively. You can use the Choose Colormap tool to change the colormap for indexed and intensity images to any of MATLAB colormaps or to a user-defined colormap.
54
Unlike the Image Viewer, the Image Tool is built using standard featu res of MATLAB Handle Graphics the image being displayed using standard Handle Graphics techniques . For example, you can use annotations and overlay vector graphics on images displayedintheImageTool.Youcanuse abasetousetocreateyourownapplication.
To start the Image Tool, use the
imtool('moon.tif')
®
. This enables the Image Tool to provide access to
imtool as an example to follow or as
imtool function:

New Modular Interactive Tools

The toolbox includes several new modular interactive tools that you can activate from the command line and use with images displayed in a MATLAB figure window, called the target image in this documentation. The tools are modular because they can be used independently or in combination to create
Version 5.0 (R14) Image Processing Toolbox™
custom graphical interfaces for image processing applications. The Image Tool uses these modular tools.
Thefollowingtableliststhesemodular tools along with the functions you use to create them.
Modular Tool Description Function
Use
Adjust Contrast tool Display histogram of
image pixel values in the target image and enable interactive adjustment of contrast
imcontrast to
create the tool in a separate figure window and associate it with an
image. and brightness by manipulating the range.
Use
Display Range tool Display a text string
identifying the display range values of the target image.
imdisplayrange
to create the tool,
associate it with an
image, and embed it in
a figure or uipanel.
Image Inform ation tool
Display basic information about an image, along w ith any metadata the image might contain.
Use
imageinfo to
create the tool.
To collect image
information, use
imattributes,
imfinfo,and
dicominfo.
55
Image Processing Toolbox™ Release Notes
Modular Tool Description Function
Magnification box Create a text edit box
containing the current magnification of the target image. Users can type in the desired magnification.
Note The target image must be contained in a scroll panel.
Overview tool
Display the target image in its entirety with the portion currently visible in the scroll panel outlined by a rectangle superimposed on the image. Moving the rectangle changes the portion of the target image that is currently visible in the scroll panel.
Use immagbox to create
thetool,associateit
with an image, and
embed it in a figure or
uipanel.
Use imoverview to
create the tool in a
separate figure window
and associate it with an
image.
Use
imoverviewpanel
to create the tool in
a uipanel that can
be embedded wi thin
another figure uipanel.
56
Note The target image must be contained in a scroll panel.
Version 5.0 (R14) Image Processing Toolbox™
Modular Tool Description Function
Use
Pixel Information tool Display information
about the pixel the mouse is over in the target image.
impixelinfo
to create the tool,
associate it with an
image, and display it in
a figure or uipanel.
If you want to display
only the pixel values,
without the text label,
use
impixelinfoval.
Use
Pixel Region tool
Display pixel values for a specified region in the target image.
impixelregion
to create the tool in a
separate figure window
and associate it with an
image.
Use
impixelregionpanel
to create the tool as
a uipanel that can
be embedded wi thin
another figure or
uipanel.
Use
Scroll Panel
Display target image in a uipanel with scroll bars.
imscrollpanel to
add a scroll panel to a n
image displayed in a
figure window.

New Modular Tool Utility Functions

In addition to the modular tools listed above, the toolbox includes a number of new utility functions that make GUI building easier. The following table lists these utility functions in alphabetical order. The tools reside in the $
MATLAB/toolbox/images/imuitools directory, where $MATLAB represents
your MATLAB installation directory.
57
Image Processing Toolbox™ Release Notes
Function Description
getimagemodel
imattributes
imgca
imgcf
imgetfile
imhandles
impositionrect
iptaddcallback
iptcheckhandle
iptgetapi
ipticondir
iptremovecallback
iptwindowalign
Retrieve imagemodel objects from image handles
Return information about image attributes
Gethandletocurrentimageaxes
Get handle to current image figure
ImageOpenFiledialogbox
Get all im age handles
Create position rectangle
Addfunctionhandletocallbacklist
Check validity of handle
Get Application Programmer Interface from a handle
Directories containing IPT and MATLAB icons
Delete function handle from callback list
Align figure windows
58

Hough Transform

The toolbox now includes three new functions that provide support for the Hough transform.
hough
houghpeaks
houghlines
The hough function implements the Standard Hough Transform (SHT). The Hough transform is designe d to detect lines, using the parametric representation of a line:
rho = x*cos(theta) + y*si n(th eta).
Version 5.0 (R14) Image Processing Toolbox™
The variable rho is the distance from the origin to the line along a vector perpendicular to the line. vector. The
hough function generates a parameter space matrix whose rows
and columns correspond to these
The
houghpeaks functions finds peak values in this space, which represent
theta is th e angle between the x-axis and this
rho and theta values, respectively.
potential lines in the input image.
The
houghlines function finds the endpoints of the line segments
corresponding to peaks in the Hough transform, and it automatically fills in small gaps.

Texture Analysis

The toolbox now supports a set of functions that yo u can use for texture analysis. These functions include
entropy — Calculates the entropy of an intensity image
entropyfilt — Calculates the local entropy of an intensity image
graycomatrix — Computes the gray-level co-occurrence matrix from an
image
graycoprops — Extracts properties from a gray-level co-occurrence matrix
rangefilt — Calculates the local range of an image
stdfilt — Calculates the standard deviation of an image
Texture analysis refers to the characterization of regions in an image by their texture content. Texture analysis attempts to quantify intuitive qualities described by terms such as rough, silky, or bumpy in the context of an image. In this case, the roughness or bumpiness refers to variations in the brightness values or gray levels.
Some of the most commonly used texture measures are derived from the Grey Level Co-occurrence Matrix (GLC M). The GLC M is a tabulation of how often different combinations of pixel brightness values (gray lev els ) occur in a pixel pair in an image. You can use the and then use
graycoprops to extract feature information (e.g., contrast,
graycomatrix function to create a GLCM
correlation, energy, and homogeneity) from the GLCM.
59
Image Processing Toolbox™ Release Notes
The texture analysis support also includes several new functions that filter using standard statistical measures, such as range, standard deviation, and entropy. (Entropy is a statistical measure of randomness.) To see an example of using these filtering functions, view the "Texture Segmentation Using TextureFilters"demo.Usethe

New ICC Color Profile Export Function

The toolbox includes a new function, iccwrite,thatyoucanusetowrite International Color Consortium (ICC) color profile data to a file. ICC profiles provide color management systems with the information necessary to convert color data between native device color spaces and device-independent color spaces, called Profile Connection Space (PCS).
iptdemos function to access toolbox demos.
The toolbox also includes a function, data is a valid ICC profile. The
isicc, that can verify w hether the
iccwrite function can output profile
data in accordance with both Ve rsion 2 (ICC.1:2001-04) and Version 4 (ICC.1:2001-12) of the ICC specification. For more information about the changes between Version 2 and Version 4 of the specification, go to the ICC Web site,
In addition,
www.color.org.
iccread, makecform,andapplycform all now work with Version
4 profiles as well as Version 2 profiles, and with color profiles with more than four channels.
Changes to iccread
To add colo r profile export support, and to accommodate Version 4 of the specification, there are some differences in the way data is returned by
iccread. In the structure returned by iccread some of the fields that
contained text strings in previo us rele ases are now structures. Accessing the text string in the fields requires an a dditional level of dereferencing. For example, the value of the Description field was a text string.
P.Description
ans =
sRGB IEC61966-2.1 991203
60
Version 5.0 (R14) Image Processing Toolbox™
Now, the value of this field is a structure with two fields: String and
Optional. To a ccess the text string, you must access the String field in this
structure.
P.Description.String
ans =
sRGB IEC61966-2.1 991203

New Demos

The toolbox includes two new demos:
Texture Segmentation U sing the Text Filters
Analyzing a Multispectral LANDSAT Image
In addition, some of the existing demos have been reorganized into new categories. The Color Segmentation and Morphological Segmentation demos have been moved to the new Image Segmentation category.

New DICOM Anonymizer Function

The toolbox now includes a new function, dicomanon,thatcanremoveall confidential data from a DICOM file.

New Integer Lookup Table Function

The toolbox now includes a new function, in tlut, that can convert arrays of
uint8, uint16,andint16 integer values using a lookup table.

New Toolbox Utility Functions

The toolbox includes several new utility functions that can help with input argument parsing. These functions check the validity of arguments and issue standard error messages, if the argument is invalid. The toolbox includes other utility functions to get the dynamic range of an image and convert a positive integer to an ordinal string.
61
Image Processing Toolbox™ Release Notes
The following table lists these functions in alphabetical order. The functions reside in the $ represents your MATLAB installation directory.
Function Description
getrangefromclass
iptcheckconn
iptcheckinput
iptcheckmap
iptchecknargin
iptcheckstrs
iptnum2ordinal

Updates to the imshow Function

There have been several changes to the behavior and syntaxes supported by the
imshow function. The following sections describe these changes.
MATLAB/toolbox/images/iptutils directory, where $MATLAB
Check dynamic range of image
Check validity of connectivity argument
Check validity of input arguments
Check validity of colormap argument
Check number of arguments
Check validity of string arguments
Convert positive integer to ordinal string
62
“Filenames No Longer Displayed as a Title in Figure Window Border” on
page 62
“Nondefault Spatial Coordinate Syntax Changed” on page 63
“Initial Image Magnification DISPLAY_OPTION Syntax Changed” on
page 63
“New Image Scaling Algorithm Determines Image Display” on page 64
“New Image Display Range Syntax” on page 65
“Number-of-Gray-Levels Syntax Obsoleted” on page 66
Filenames No Longer Displayed as a Title in Figure Window Border
The ims how function when called with a filename
imshow(filename)
Version 5.0 (R14) Image Processing Toolbox™
no longer automa tically displays the filename as a title in the figure win dow border. In previous releases, the gray space w as proportional to image size. Often, this left too little space for small images and too much for big images, making positioning the title in the figure window problematic.
Changes to the algorithm
'ImshowBorder' preference is set to 'loose' should allow plenty of room for
imshow uses to calculate the border size when the
title, axes tick marks, and axes labels in a way that is independent of the image size. (See “New Image Display Range Syntax” on page 65 fo r more information.)
Nondefault Spatial Coordinate Syntax Changed
The imshow syntax for specifying nondefault spatial coordinates has changed to use parameter/value pairs. The old syntax
imshow(x,y,...)
is now
imshow(...,'XData',x,'YData',y)
imshow
still accepts the old syntax, automatically translating it to the new
syntax and issuing t he following warning.
IMSHOW(x,y,...) is an obs olete syntax. U se IMSHOW(...,'XData',x,'YData',y) instead.
Initial Image Magnification DISPLAY_OPTION Syntax Changed
The imshow display_option syntax is obsolete. The old syntax,
imshow(...,display_option)
where displ ay_option was either 'truesize' or 'notruesize',hasbeen replaced by the following parameter/value pair syntax:
imshow(...,'InitialMagnification',initial_mag)
63
Image Processing Toolbox™ Release Notes
As the value, you can specify a numeric magnification percentage value or the text s tring
imshow still accepts the old syntax, automatically translating the old display_option values to the new syntax, as shown in the following table.
'fit'.
The table also includes the text of the warning message issued by
Old Syntax Automatic Translation to New Syntax
imshow(...,'truesize') imshow(...,'InitialMagnification',100)
where 100% magnification specifies the same one-image-pixel to one-screen-pixel magnification achieved by the
'truesize' option. imshow also issues
the following warning message:
Warning: IMSHOW(...,'truesize') is an obsolete
syntax.
Use IMSHOW(...,'InitialMagnification',100) instead.
imshow.
imshow(...,'notruesize') imshow(...,'InitialMagnification','fit')
where the behavior is similar to the 'notruesize' behavior. imshow issues the following warning m essage:
Warning: IMSHOW(...,'notruesize') is an obsolete
syntax.
Use IMSHOW(...,'InitialMagnification','fit') instead.
New Image Scaling Algorithm Determines Image Display
When you specify a numeric magnification percentage value, imshow performs the following processing to determine how to display the image:
1 Calculate the gutter dimensions (gray space around image) and figure
window decoration dimensions.
64
Version 5.0 (R14) Image Processing Toolbox™
Note imshow only has to calculate these dimensions once per MATLAB session because they are independent of the image being displayed and depend on the system running the display function.
2 Determine the screen dimensions for the image at the requested display
magnification.
3 Addtheresultsofstep1andstep2.
4 Determine if the figure fits on the screen at the specified m ag n ification.
If the image in the figure window fits on the screen, display it.
Iftheimageinthefigurewindowdoesnotfitonthescreen, the magnification until the image fits on the screen and displays it.
imshow reduces
imshow
issues a warning message that the image has been scaled, including the magnification value in the message.
Note imshow now uses the same magnification increments as the zoom tool (100%, 67%, 50%, 33%,...).
New Image Display Range Syntax
The imshow syntax in which you specify the disp lay ran ge of the image
imshow(I,[LOW HIGH])
has been augmented to use a parameter/value pair syntax
imshow(...,'DisplayRange',[LOW HIGH])
imshow
Note, however, that with the new parameter/value syntax, you can specify the target image as a filename, as in the f ollowing example.
still accepts the old syntax.
imshow(filename,'DisplayRange'[LOW HIGH])
65
Image Processing Toolbox™ Release Notes
Ifyouwanttospecifythedisplayrangeforanintensityimagespecifiedbya filename, you must use the
Number-of-Gray-Levels Syntax Obsoleted
The imshow syntax in which you specified the number of gray levels used to display the image
imshow(I,N)
has been obsoleted.
'DisplayRange' parameter.
Compatibility Considerations. If you use this syntax,
imshow outputs the
following warning message:
IMSHOW(I,N) is an obsolet e syntax. Your intensity image will be displayed using 256 shades of gray.

Changes to Toolbox Preferences

The names of several Image Processing Toolbox preferences have changed in Version 5. The following table lists these preferences with the new name, where available.
Obsolete Preference New Preference
'ImshowTruesize' 'ImshowInitialMagnification'
'ImviewInitialMagnification' 'Im toolInitialMagnification'
'TruesizeWarning'
No replacement.
Use the MATLAB
warning function
to control whether you see the warning that appears when displaying a large image with
imshow.
warning off Images:initSize:adjustingMag
66
warning on Images:initSize:adjustingMag
Version 5.0 (R14) Image Processing Toolbox™
Changes to Other
The following ta 5oftheImagePro
ble lists toolbox functions that have been changed in Version
cessing Toolbox.
Toolbox Functions
Function Enhancement
blkproc
The fun argument must be specified as a function handle; it can no longer be specified as an
inline function or text string. The syntax
blkprc(...,fun,P1,P2...) is no longer supported.
Use an anonymous function instead.
colfilt
See the entry for blkprc in this table. It describes the change made to this function.
deconvblind
See the entry for blkprc in this table. It describes the change made to this function.
dicomread
edge
age
getim
No longer paramet
Support compon (Sobel
No longer accepts a handle to a texture-mapped
supports the
ers.
s new syntaxes that return the gradient
ents when gradient-based methods are used
, Prewitt, Roberts).
surface as an input argument or returns a texture-mapped surface as an image. only returns data for image objects.
'Dictionary' and 'Raw'
getimage now
graythresh
ifanbeam
getimage also returns a new flag identifying a binary
image.
Now implements Otsu’s class separability m etri c, which measures the effectiveness of a threshold computation. For this metric, the lower bound of 0 represents a monotone image and the upper bound of 1 represents a two-valued image.
See the entry for iradon in this table.
67
Image Processing Toolbox™ Release Notes
Function Enhancement
im2bw
imfilter
iradon
makelut
nlfilter
qtdecomp
regionprops
roifilt2
Might produce different results when used in conjunction with the
graythresh function uses Otsu’s method which, by
graythresh function. The
definition, splits the pixels in an image into two classes based on the calculated threshold. All the pixels up to and including the pixels equal to the threshold b elong to the first class and the remaining pixels belong to the other class. To match this algorithm, the
im2bw function now
uses the greater-than operator (>) instead of the greater-than-or-equal operator (>=). Thus
im2bw
might produce different results from previous releases.
Now automatically detects and exploits filter separability to speed up the filter computation. This change in the computational algorithm can result in small differences in the output values because of a combination o f floating-point roun doff differences and integer rounding effects.
Now supports all interpolation types supported by
interp1. Previously, only 'l inea r', 'nearest',and 'spline' were supported.
See the entry for blkprc in this table. It describes the change made to this function.
See the entry for blkprc in this table. It describes the change made to this function.
See the entry for blkprc in this table. It describes the change made to this function.
Now calculates the perimeter of each labeled region in a label matrix.
The fun argument must be specified as a function handle; it can no longer be specified as an
inline function or text string. The syntax
roifilt(...,fun,P1,P2...) is no longer supported.
Use anonymous function instead.
68
Version 5.0 (R14) Image Processing Toolbox™

Performance Improvements

The performance of several existing toolbox functions has been improved in this release, including:
regionprops (sixtimesfasterthanpreviousversion)
imfilter (faster for separable filters)
The
dicomread function has a five to 10 times performance improvement over
the previous version.
The performance of the following morphology functions has been improved when used with large rectangular structuring elements.
imdilate
imerode
Functions that call imdilate and imerode, specifying large rectangular structuring elements, might also see a speed improv ement, i.e.,
imclose, imtophat,andimbothat.
imopen,
The performance of the following image type conversion functions and color space conversion functions has been improved by using the with data of classes
imadjust
uint8 and uint16.
intlut function
imcomplement
ind2gray
rgb2gray
rgb2ntsc
rgb2ycbcr
rcbcr2rgb

Improved Memory Usage

The memory usage of the following deblurring functions has been improved by clearing temporary variables as the alg orithm s proceed.
69
Image Processing Toolbox™ Release Notes
deconvblind
deconvlucy
deconvreg
deconvwnr
edgetaper
The edgetaper function now uses single precision in its calculations for images with an integer data type in order to reduce memory usage. This means that answer returned by previous versions of the toolbox. If you want to use double precision for integer data types, convert your image to double before calling edgetaper.
improfile
The improfile function used to cast input images to double if the image was of class logical or if the image was of a nondouble class that uses an interpolation method other than nearest-neighbor.
edgetaper returns an answer that is slightly different from the
edgetaper
70
The function now casts them to single to reduce memory overhead. In these cases, the output of the toolbox.
improfile might differ slightly from previous versions of

Major Bug Fixes

The following are important bug fixes in Version 5 of the Image Processing Toolbox software.
Canny Edge Detector Handles Constant-Valued (Flat) Images
The Canny edge detector now accepts single-valued images, also called monotone images, constant-value images, or flat images. Instead of issuing an error when an input image is single-valued, the Canny edge detection now returns an output image containing all zeros, indicating that it found no edges.
edge function used with
Version 5.0 (R14) Image Processing Toolbox™
imcomplement Returns Correct Answer for Signed Integer Input
imcomplement was incorrectly calculating the complement of an image with
signed integer data type. T his problem has been fixed.
imlincomb Correctly Handles int16 Data Combined with Scalar Having a 0.5 Fractional Part
imlincomb was giving an incorrect answer when combining int16 data with a
scalar that had 0.5 as a fractional part. This problem h as been fixed.
iradon No Longer Introduces a Vertical Shift of One Pixel
The iradon function now correctly calculates the vertical origin of the input projections. Previously the calculated origin was off by one for inputs with an even number of projection samples. The effect of this problem could be observed by computing the Radon transform (using radon) of a test pattern containing horizontal edges, followed by computing the inverse Radon transform (using output of
iradon showed a vertical misregistration of one pixel.
iradon). Carefulcomparisonofthetestpatternwiththe
imshow Correctly Renders Indexed Images with Colormaps Having More Than 256 Colors
On the Windows platform, imshow now sets the figure’s 'Renderer' property to
'zbuffer' for indexed images with associated colormaps having more
than 256 entries, so they render correctly. Previously these images would appear black.

Compatibility Considerations

The issues mentioned here are all described in more detail in previous sections.
Changes to
preferences will still work as expected, but they will now warn.
The functions
slightly different answers from previous releases in certain cases.
imshow syntax and to toolbox preferences. Old syntaxes and
edgetaper, im2bw, imfilter,andimprofile may give
71
Image Processing Toolbox™ Release Notes
Obsolete and Deleted Functions
The following tables lists toolbox functions that have been made obsolete or removed in Version 5.
Function Status
dctmtx2
im2mis
imview
imzoom
uintlut
This function, which was obsoleted in previous release, has been removed from the toolbox.
This function, which was obsoleted in previous release, has been removed from the toolbox.
This function is obsolete. Itnowwarnsandpassesits arguments to the
imtool function.
This function, which was obsoleted in previous release, has been removed from the toolbox.
This function, which only accepted uint8 and uint16 data, now warns and passes arguments to the intlut function, which also handles int16 data.
72

General Issues

Thefollowingareknownissues.
“imoverview, imoverviewpanel, imscrollpane l and im tool Perform a n c e with
Large Intensity Images” on page 73
“Image Tool Cursor Interactions” on page 73
“Adjust Contrast Tool Does Not React to Changes in CLim, CData, or
CDataMapping” on page 73
“impixelregionpanel Might InterferewithButtonDowneventsinParent
Figure” on page 74
“imagemodel, imageinfo, and imattributes Return Incorrect D ata Type”
on page 74
“cpselect Function Is Not Compilable” on page 74
“Example in warp Function Reference Page Displays Incorrectly” on page
74
Version 5.0 (R14) Image Processing Toolbox™
imoverview, imoverviewpanel, imscrollpanel and imtool Performance with Large Intensity Images
There is a performance problem with the Image Tool and its related navigation tools when used with large intensity im ages.
Possible workarounds:
For images of any class, the image can be treated as an RGB image via
repmat.
I = imread('concordorthophoto.png'); imtool(repmat(I,[1 1 3]))
For images of class uint8 or uint16, the image can be treated as an
indexed image.
I = imread('concordorthophoto.png'); n = double(intmax(class(I))); map = gray(n); imtool(I,map)
Both workarounds will make imcontrast unusable and pixel reporting will be for the wrong image type. The first workaround uses more memory than the second workaround.
Image Tool Cursor Interactions
If you run the Image Tool and activate one of the navigational tools (zoom in, zoom out, pan) prior to turning on the Adjust Contrast tool, the navigational tool will be turned off and will be replaced by the mouse behavior of
imcontrast. Conversely, if you run imtool, start the Adjust Contrast tool,
and the n start a navigation tool, the mouse behavior of
imcontrast is turned
off.
Adjust Contrast Tool Does Not React to Changes in CLim, CData, or CDataMapping
If you turn on the Adjust Contrast tool using imcontrast or imtool,andthen set the axes the A djust Contrast tool does respond to these changes in the image or axes. Once y ou click on the tool, it updates based on changes to the
CLim property or the image CData or CDataMapping properties,
CLim values.
73
Image Processing Toolbox™ Release Notes
impixelregionpanel Might Interfere with ButtonDown events in Parent Figure
If you create an impixelregionpanel and another imscrollpanel in the same figure, the throughout the figure. This can, for example, prevent the user from clicking and dragging a position rectangle located in an in the figure.
Workaround: After creating all of the panels needed for your GUI, execute this code:
uistack(hPixelRegionPanel, 'bottom')
where hPixelRegionPanel isthehandlereturnedbyimpixelregionpanel.
imagemodel, imageinfo, and imattributes Return Incorrect Data Type
The imagemodel, imageinfo,andimattributes functions return class
double for int16 or single images. These functions determine the data type
by querying the image object’s image object converts its
impixelregionpanel can interfere with ButtonDown events
imscrollpanel elsewhere
CData.Forint16 and single images, the
CData to class double.
74
For example,
h = imshow(int16(ones(10))); class(get(h,'CData'));
returns 'double'. Consequently, imageinfo and imattributes would return aclasstypeof
double and calling the image model object’s getClassType
method returns double.
cpselect Function Is Not Compilable
You cannot compile MATLAB applications that call the cpselect function.
Example in warp Function Reference Page Displays Incorrectly
On some Windows XP systems, the example on the warp function reference page does not display correctly. W hen
warp is called, the axes is empty. To
Version 5.0 (R14) Image Processing Toolbox™
work around this problem, switch the renderer to the Zbuffer renderer, as follows.
set(gcf,'renderer','ZBuffer')

Issues Specific to the Linux Platform

The following are known issues with Image Processing Toolbox 5 on Linux systems.
Alt+Click Zoom Behavior on Linux Systems
On Linux systems, if the Alt+Click combination is defined for any other Window Manager behavior, when you choose the zoom in or zoom out tools in the Image Tool, Alt+click will not zoom in the opposite direction from the currently selected tool.

Issues Specific to the Macintosh Platform

The following issues are unique to Macintosh systems.
“Image Tool Limitations” on page 75
“Image Information Tool Not Supported” on page 75
“Resize Behavior of impixelinfo and imdisplayrange” on page 76
“Difference in Scroll BarBehavior”onpage76
“Pixel Region Tool Slow on Macintosh Systems” o n page 76
“Alt+Click Does Not Work for Opposite Zoom in imtool” on page 76
Image Tool Limitations
On Macintosh systems, the Image Tool (imtool) has the following limitations:
The Magnification tool is not supported.
The Image Information toolbar button is not functional.
Image I nformation Tool Not Supported
On Macintosh systems, the imageinfo function is not supported because it require Java™ figures, which are not available on this platform.
75
Image Processing Toolbox™ Release Notes
Resize Behavior of impixelinfo and imdisplayrange
On Macintosh systems, the impixelinfo and imdisplayrang e functions do not resize correctly because they require Java figures, which are not available on this platform.
Difference in Scroll Bar Behavior
On Macintos h systems, if you create a scroll panel (imscrollpanel)anddrag the scroll bars, the image does not update until you release the mouse from the drag. On other platforms, the image updates continuously during the drag.
Pixel Regio n Tool Slow on Macintosh Systems
On Macintosh systems, the impixelregion and impixelregionpanel are slower than on other platforms.
Alt+Click Does Not Work for Opposite Zoom in imtool
On Macintosh systems, if you are using the Image Tool and choose the zoom in or zoom out tool, Alt+click does not zoom in the opposite direction from the currently selected tool.
76
Version 4.2 (R13SP2) Image Processing Toolbox™

Version 4.2 (R13SP2) Image Processing Toolbox

This table summarizes what’s new in Version 4.2 (R13SP2).
New Features and Changes
Yes Details belo
w
Version Compatibility Consideratio
Yes—Details labeled as Compatibility Considerations, below. See also Summary.
New featur
“Enhanced
“Major Bu
Enhance
The tool
The
read us modali corre
The to
not de in the fiel the d
es and changes introduced in this version are
d DICOM Support
box includes the following enhancements to the DICOM functions:
omwrite
dic
ing
ties,
ct amount of data is w ritten.
olbox can now read and write private metadata, even if they are
fined in the DICOM data dictionary. When private metadata is not
data dictionary,
ds, rather than the descriptive names available to attributes defined in
ata dictionary.
ns
DICOM Support” on page 77
gFixes”onpage78
function can now write data in any modality that can be
dicomread. Note, however, that when writing data in these
dicomwrite does not verify the data or check to see if the
Fixed Bugs an d Known Problems
Bug Fixes Details
dicomread uses ge neric names for the metadata
Related Documentation at Web Site
No
You c
an create a custom data dictionary that contains definitions of your
vate metadata, using the
pri
dicomdict function.
77
Image Processing Toolbox™ Release Notes
Compatibility Considerations
The DICOM data dictionary changed sothatsomewordsaredifferentnow than in previous releases. This is due to updates in the data dictionary as defined by the DICOM standards committee.

Major Bug Fixes

The Image Processing Toolbox 4.2 includes the following bug fixes:
The
bwdist function now produces correct results for very large images
(such as 10000-by-5000).
The
dicomread function no longer produces the “Error using reshape”
message when reading a DICOM file containing multifram e data and overlays stored in both the pixel data and in the metadata.
The
dicomwrite function can now correctly handle data attributes with
multiple VMs (value multiplicity).
The
dicomwrite function now produces correct results for the RLE
(run-length encoding) compression type when the number of bits per pixel is greater than 8.
The
im2col function, when called with the syntax im2col(1:N, [1 N]),
now returns a column vector.
The
imview function, when called with the syntax imview(I,[]),whereI
is a constant image, no longer produces a w arning message about a badly conditioned polynomial.
The
montage function no longer displays an extra blank row when
displaying certain multiples of images.
The
poly2mask function no longer errors when trying to close certain
polygons, specifically polygons where the last element of vector match the first element,
x(1) ~= x(end), and the last element of vector Y
X doesn’t
matches the first, y(1) == y(end),orviceversa.
78
The
stretchlim function now uses more bins to achieve better results for
input images of class
uint16 or doub le.
Version 4.1 (R13SP1) Image Processing Toolbox™

Version 4.1 (R13SP1) Image Processing Toolbox

This table summarizes what’s new in Version 4.1 (R13SP1).
New Features and Changes
Yes Details belo
w
Version Compatibility Consideratio
No
New feature
“Reading a
“Reading I
“Reading a
“Major Bu
s a nd changes introduced in this version are
Reading Compres
The tool using J the ori achiev
Using data t
box now supports reading and writing data that has been compressed
PEG lossless compression. With lossless compression, you can recover
ginal image from its compressed form. Lossless compression, however,
es low er compression ratios than its counterpart, lossy compression.
either the
hat has been compressed using JPEG lossless compression.
ns
nd Writing Data with JPEG Lossless Compression” on page 79
CC Profiles Embedded in TIFF Files” on page 80
nd Writing L*a*b* Color Data” on page 80
gFixes”onpage80
and Writing Data with JPEG Lossless
sion
imread function or the dicomread function, you can read
Fixed Bugs an d Known Problems
Bug Fixes Details
Related Documentation at Web Site
No
geitherthe
Usin JPEG
ode
M
the
pecify the
you s
ue.
val
imwrite or the dicomwrite function, you can write data to a
file using lossless compression. For the
parameter with the 'lossless' value. For the dicomwrite function,
CompressionMode parameter with the 'JPEG lossless'
imwrite function, you specify
79
Image Processing Toolbox™ Release Notes

Reading ICC Profiles E mbedded in TIFF Files

iccread can now read ICC profiles that are embedded in a TIFF file, if
the TIFF file contains one. ICC profiles contain information that color management systems need to translate color data between devices.
To determine if a TIFF file contains an ICC profile, use the to retrieve information about the file. If the returned data contains the
ICCProfileOffset field, the file contains an embedded ICC profile.
imfinfo function

Reading and Writing L*a*b* Color Data

The imread function can now read color data that uses the L*a*b* color space from TIFF files. The TIFF files can contain L*a*b* values that are in 8-bit or 16-bit CIELAB encodings or in 8-bit or 16-bit ICCLAB encodings.
If a file contains 8-bit or 16- bi t CIELAB data, the data into 8-bit or 16-bit ICCLAB encoding. The 8-bit or 16-bit CIELAB data cannot be represented as a MATLAB array because it contains a combination of signed and unsigned values.
The
imwrite function can write L*a*b* data to a file using either the 8-bit or
16-bit CIELAB encoding or the 8-bit or 16-bit ICCLAB encoding. You select theencodingbyspecifyingthevalueofthe
imread automatically converts
ColorSpace parameter.

Major Bug Fixes

The version of the toolbox includes the following bug fixes.
applycform Fixes
The ap plyc form function includes two bug fixes.
80
The
applycform function did not apply some profiles correctly when the
input color was in the XYZ color space. Specifically, profiles containing an 8-bit or 16-bit lookup table containing a non-identity "E" matrix were not processed correctly by Specification ICC.1:2001-04, sections 6.5.7 and 6.5.8.
applycform. For details about the E matrix, see ICC
Version 4.1 (R13SP1) Image Processing Toolbox™
The applycform function now handles correctly Matrix/TRC profiles that
contain a single gamma correction factor. Previously, the forward and inverse conversions were reversed.
Compiling Spatial Transformation Functions
Applications that call the imresize, imrotate, imtransfor m, tformarray,
tformfwd,andtforminv functions can now be compiled using the MATLAB
Compiler.
81
Image Processing Toolbox™ Release Notes

Version 4.0 (R13+) Image Processing Toolbox

This table summarizes what’s new in Version 4.0 (R13+).
New Features and Changes
Yes Details belo
w
Version Compatibility Consideratio
Yes—Details labeled as Compatibility Considerations, below. See also Summary.
New featur
“New Image
“Enhance
“New Imag
“Enhanc
“Fan Bea
“Bound
“Unsig
“Opti
“Perf
es and changes introduced in this version are
d Color Space Functions” on page 84
e Enhancement Methods” on page 84
ed DICOM Support” on page 84
m Projection Transforms” on page 85
ary Tracing Functions” on page 85
ned Integer Lookup Tables” on page 85
mized Image Arithmetic Functions” on page 85
ormance Improvements” on page 86
Fixed Bugs an d Known Problems
ns
Bug fixes Details
Viewer” on page 82
Related Documentation at Web Site
No
82
“Chan
“Maj
“Com
New
The Vie
rgeimages. TheImageViewerautomatically displays the pixel value at the
la mo
ges to Existing Functions” on pa g e 86
or Bug F ix es” on page 88
patibility Considerations” on page 89
Image Viewer
toolbox includes a new tool for displaying images, called the Image
wer. This tool supports zooming, scrolling, and overview navigation with
use location but you can also use a special zo om tool, called the Pixel Region
Version 4.0 (R13+) Image Processing Toolbox™
tool, to perform simultaneous color and quantitative inspection of individual pixels. You can also view metadata for the image file or MATLAB variable.
To start the Image Viewer, use the
imview('board.tif')
imview function.
The following figure illustrates the Image Viewer and its capabilities.
Note On platforms that don’t support Java, have an older version of Java, and o n Macintosh systems, calls to toolbox issues this warning when
'IMVIEW is not available on this platform.', ... 'Calling IMSHOW instead.');
imview invoke the imshow function. The
imview is invoked:
83
Image Processing Toolbox™ Release Notes
Enhanced Color S
The toolbox incl for converting t spaces. The fun of color spaces (Internation
, ,and color sp
to and from the
The toolbox a profiles and
In addition representa
lab2doubl
New Image E
The toolb and decor
The equaliz that wor images
ox includes two new image enhancement functions:
thisteq
adap
ation (CLAHE). This function uses a contrast-enhancement method
ks significantly better than regular histogram equalization for m ost
.
udes a pair of new functions,
o and from a family of standard, device-independent color
ctions support conversions between members of the family
defined by the CIE Commission Internationale de l’Éc la irage
al Commission on Illumination), including the
industry standard
lso includes new function,
using them to transform color data.
, the toolbox also includes functions for converting the class
tion of converted color spaces:
e
, xyz2uint8,andxyz2double functions.
nhancement Methods
rstretch
.
function performs contrast-limited adaptive histogram
pace Functions
makecform and applycform,
, , ,
aces. The functions also support conversion
color space.
iccread, for reading in ICC color
lab2uint8, lab2uint16,
adapthisteq
84
The image is a te This f or mor
Enha
The d MR (
The ar co
orrstretch
dec
s, or images with m ultiple color or spectral bands. Decorrelation stretch chnique used to enhance, or stretch, the color differences in an image.
unction can be used, for example, to aid visual interpretation when two
e bands are significantly correlated.
nced DICOM Support
icomwrite
magnetic resonance) and CT (computed tomography) modalities.
dicominfo and dicomread functions can now read some files that
e marginally noncompliant with the DICOM specification. Some
mmonly-used medical imaging devices produce such files. In addition, these
function performs a decorrelation stretch on truecolor
function now supports exporting to DICOM files using the
Version 4.0 (R13+) Image Processing Toolbox™
functions can now read some files produced by GE®devices that use certain private transfer syntaxes.
The toolbox includes a new function, identifiers. This is the same method used b y the
dicomuid, that generates DICOM unique
dicomwrite function.

Fan Beam P rojection Transforms

The toolbox includes two new functions, fanbeam and ifanbeam,forcomputing an alternative mathematical representation of an image using fan beam projections. Using the fan beam projection data.
The toolbox also includes functions, projection data between fan-beam and parallel-beam geometries. (You use the
radon function to create parallel beam projection data.)
ifanbeam function, you can reconstruct an image from
fan2para and para2fan, for converting

Boundary Tracing Functions

The toolbox includes a new function, bwboundaries, to trace the boundaries of all objects in a binary image. The new single boundary from a given starting point.
bwtraceboundary function traces a

Unsigned Integer Lookup Tables

The toolbox includes a new function, uintlut, that changes element values in a
uint8 or uint16 arraybypassingthemthrough a 256-element or
65,536-element lookup table. This low-level utility function has been used to speed up other toolbox functions such as
imadjust.

Optimized Image Arithmetic Functions

The image arithmetic functions have been optimized in two ways:
Portable code improvements have been made to speed up the arithmetic
functions on all platforms.
Pentium- and MMX-specific code improvementshavebeenmadetoprovide
additional speed improvements on the W indows and Linux platforms. The changes are based on the Intel Performance Primitiv es Library.
85
Image Processing Toolbox™ Release Notes
Functions affected by these improvements include the imabsdiff, imadd,
imcomplement, imdivide, imlincomb,andtheimmultiply functions. To
determine if the Intel Performance Primitives Library is being used, call the
ippl function.

Performance Improvements

A variety of existing toolbox functions have been optimized to run faster and use less memory.
Image type conversion functions
Certain image enhancement functions:
imadjust and imhist
• Certain color space conversion functions: rgb2gray, rgb2ntsc, rgb2ycbcr,
and
ycbcr2rgb
Deblurring functions: deconvblind, deconvlucy, deconvreg,and
deconvwnr

Changes to Existing Functions

In addition to the major new features, the toolbox includes several additional enhancements.
Function Enhancement
cp2tform
cpselect
imadjust
immovie
The algorithms have been mo dified to make them more robust numerically w hen the input coordinates have a very large offset from the origin.
The Control Point Selection Tool now displays a single legend window even if multiple instances of the tool are being displayed.
Supports a simplified, single-input syntax, in which it uses
stretchlim to compute
contrast-stretch param eters automatically.
No longer flickers while a movie is being generated.
86
Function Enhancement
medfilt2
Class support has been extended to all numeric types and it uses a new algorithm for large window sizes that is significantly faster than the old one.
ordfilt2
Class support has been extended to all numeric types and it uses a new algorithm for large rectangular domains that is significantly faster than the old one.
regionprops
Uses an improved method for computing the convex hull of a labeled object, resulting in more accurate
ConvexImage measurements.
roipoly
Uses a new algorithm that produces more intuitive results and has better performance. Users who have code that requires the same output as the previous version can use the function
roipolyold.
Version 4.0 (R13+) Image Processing Toolbox™
ConvexHull, Convexity,and
tformfwd and tforminv
Supports additional syntaxes that make these functionseasiertouseforcommonoperations.
Changes to Sample Images Included
The sample images listed below have been removed from the toolbox.
afmsurf bonemarr enamel ngc4024l rice testpat2
alumgrns circles flowers ngc4024m saturn text
bacteria circlesm ic ngc4024s shot1 tissue1
blood1 debye1 lily pearlite testpat1
The following new sample images are included with the toolbox.
blobs.png peppers.png testpat1.png
circles.png rice.png text.png
87
Image Processing Toolbox™ Release Notes
a
coins.png saturn.png tissue.png
glass.png solarspectra.fts
New ICC Profiles. The toolbox includes sample ICC profiles that can be used with the colo r space conversion functions.
File Description
lab8.icm
monitor.ic
sRGB.icm
swopcmyk.icm
8-bit profil
m
Typical mon
e
itor profile
profile
CMYK input profile
Major Bug
The Imag
e Process in g Toolbox, Version 4.0, includes the following bug fixes.
Fixes
Function Fix
bwlabel
cpselect
dicomread
imabsdiff, imadd, imdivide, imlincomb, imsubtract
No longer produces a segmentation violation when called with an empty matri x.
The Control Point Selection Tool no longer
causes MATLAB to hang when inv oked from within a script or GUI with the
uiwait functions, which wait for users to
input or
complete the selection.
Point prediction in the Control-Point Selection
Tool no longer fails with the following error message:
Attempt to reference field on non-structure arr
Now reads DICOM files that contain 1-bit o verlay data.
Theimagearithmeticfunctionsnolongererror when called with logical inputs
88
Function Fix
imfill
Now fills hole pixels on the outer edge of an imag e that are not connected to the background because a non-default connectivity was specified.
imresize
The anti-aliasing filtering, applied by imresize when shrinking an image, no longer causes a narrow strip of dark pixels to appear around the edge of the image.
label2rgb
Nowusesanewdefaultcolormap. The zero-color in the previous default colormap was the same as the last c olor in the colormap, with the result that the object labeled with the highest number could not be distinguished from the background.
radon
An off-by-one error in the calculation of the center pixel location for images with even dimensions has been fixed.
rgb2ind
No longer errors when passed an input image that contain only a single color.
strel
The syntax strel('ball', r, h, 0) returns an empty structuring element with radius 0.
Version 4.0 (R13+) Image Processing Toolbox™
strel object instead of a degenerate ball

Compatibility Considerations

Obsolete and Deleted Functions
The following functions have been obsoleted or deleted.
Function Status
isrgb
isind
This function has been obsoleted and will issue a warning when called
This function has been obsoleted and will issue a warning when called.
89
Image Processing Toolbox™ Release Notes
Function Status
isbw
isgray
This function has been obsoleted and will issue a warning when called.
This function has been obsoleted and will issue a warning when called
90
Version 3.2 (R13+) Image Processing Toolbox™

Version 3.2 (R13+) Image Processing Toolbox

This table summarizes what’s new in Version 3.2 (R13+).
New Features and Changes
Yes Details belo
w
Version Compatibility Consideratio
Yes—Details labeled as Compatibility Considerations, below. See also Summary.
New featur
“Writing D
“Represe
“Better I
“Change
Writing
The Ima and Com funct the
di
dicom
es and changes introduced in this version are
nting Binary Images” on page 91
nput Image Type Checking” on page 93
s to Existing Functions” on page 93
DICOM Files
ge Processing Toolbox now supports writing files in Digital Imaging
munications in Medicine (DICOM) format, using the
ion. Previous releases of the toolbox supported re ading DICOM files with
comread
info
function.
ns
ICOM Files” on page 91
function and reading metadata from a DICOM file using the
Fixed Bugs an d Known Problems
No No
Related Documentation at Web Site
dicomwrite
Repr
In pr them to s
Wit the
lo
esenting Binary Images
evious releases, toolbox functions that returned binary images returned
as
uint8 logical arrays. The toolbox used the presence of the logical flag
ignify that the data range in the file was [0,1].
h this release, the toolbox returns binary images as logical arrays, using
new MATLAB
gical
class, see the MATLAB 6.5 Release Notes.
logical data type. For more information about the new
91
Image Processing Toolbox™ Release Notes
Compatibility Considerations
The change in the representation of binary images has the following compatibility considerations.
Change to Data Type of Output Binary Images. All the Image P rocessing Toolbox functions that return a binary image now return a binary image of class
logical. In previous releases, these functions returned binary images of
a numeric class with the logical flag set. The Image P roce ssing Toolbox used the e xistence of the logical flag to identify a binary image.
If your application checks the data type of the binary images returned by Image Processing Toolbox functions, you will need to change your code.
Note The logical classisnotoneofthenumericclassesinMATLAB.
Change to Interpretation of Input Images. Image Processing Toolbox
functions that accept different types of images, such as grayscale and binary, no longer attempt to determine if an input image of a numeric class is intended to be a binary image.
92
In previous releases, toolbox functions that accepted different types of images checked the contents of an image to determine how to interpret it. For example, if an image was of class
double and contained only 0s and 1s, the
toolbox function would interpret it as a binary image. With Version 3.2, the toolbox only interprets images of class
logical as binary images.
In the Image Processing Toolbox, the names of functions that accept both grayscale and binary images typically start with the characters as
imdilate.
"im",such
Converting Binary Im ages to an Integer Data Type. With this release, if you convert a binary image to a numeric type, the image ceases to be a binary image.
In previous releases, the Image Processing Toolbox conversion functions
im2uint8 and im2double preserved the binary attribute of the converted
image. For example, if you converted a binary image of class
double,which
Version 3.2 (R13+) Image Processing Toolbox™
had the logical flag set, the output image returned by the im2uint8 function wouldalsobealogicalimageofclass
uint8, with the logical flag set.
For example, create a simple logical array
bw = logical([1 0; 0 1]) bw =
10
01 whos Name Size Bytes Class
bw 2x2 4 logical array
When you convert this array to a uint8 data type, notice that it is no longer of class
logical.
new_image = im2uint8(bw)
new_image =
255 0
0 255
whos Name Size Bytes Class
bw 2x2 4 logical array new_image 2x2 4 uint8 array

Better Input Im age Type Checking

The toolbox now performs more error checking of input images, specifically input classes, attributes and option string processing, with clearer error messages

Changes to Existing Functions

The Image Processing Toolbox, Version 3.2, includes changes to these existing functions.
93
Image Processing Toolbox™ Release Notes
Function Description of Change
circshift
freqz2
getnhood
gray2ind
imfill
imlincomb
immovie
imtransform
ordfilt2
roifilt2
Moved into MATLAB
Checks for insignificant real part in addition to insignificant imaginary part
Returns a logical array
More efficient memory usage
New syntax for grayscale images does not require
'holes' argument. This option is
selected automatically.
Accepts more than two images as input and you can specify the output class
Flicker during movie creation eliminated
Linear and bicubic interpolation are faster
Uses a different algorithm for binary images that improves processing speed for these images
More efficient. Operation is performed only on the region of interest, not the entire image.
94
Version 3.1 (R12.1) Image Processing Toolbox™

Version 3.1 (R12.1) Image Processing Toolbox

This table summarizes what’s new in Version 3.1 (R12.1).
New Features and Changes
Yes Details belo
w
Version Compatibility Consideratio
No
New feature
“deconvbl
“label2rg
“Major Bug
ind Added to Deblurring Functions” on page 95
b Added to Toolbox” on page 95
deconvbl
The tool using th
label2
The too label m
Major
box n ow includes the
e blind deconvolution algorithm.
rgbAddedtoToolbox
lbox now includes a new utility function, atrix into an RGB color image.
Bug Fixes
Fixed Bugs an d Known Problems
ns
Fixed bugs Details
s a nd changes introduced in this version are
Fixes” on page 95
Related Documentation at Web Site
No
ind Added to Deblurring Functions
deconvblind function which deblurs an image
label2rgb,thatconvertsa
cial
fspe
impr
erro
2ind
rgb
very large images.
for
Fun
nsistent manner. When an input arraythatisexpectedtobeabinary
co
age contains
im
— Fixed incorrect normalization for the Gaussian filter option.
ofile
r.
ctions that operate on binary input images now treat
— Fixed an occasional indexing problem caused by round-off
— Fixed a problem that caused r gb2ind to produce bad results
NaNsina
NaN values, the NaN value is always treated as 1.
95
Image Processing Toolbox™ Release Notes

Version 3.0 (R12+) Image Processing Toolbox

This table summarizes what’s new in Version 3.0 (R12+).
New Features and Changes
Yes Details belo
w
Version Compatibility Consideratio
No No No
New features and changes introduced in this version are
“Morphology” on page 96
“Spatial Transformations” on page 98
“Image Registration” on page 99
“Integer Image Arithmetic” on page 99
“Integer Image Filtering” on page 100
“Deconvolution/Deblurring” on page 100
“Support for DICOM Files” on page 101
“Miscellaneous New Functions” on page 101
“New Demos” on page 102
ns
Fixed Bugs an d Known Problems
Related Documentation at Web Site

Morphology

This release adds a broad suite of new m athematical morphology tools open up broad new classes of applications in segmentation and image enhancement
96
The existing dilation and erosion operators have been extended to work with grayscale images. New functions range from additional basic operators (morphological opening and closing) to advanced tools useful for segmentation (distance transforms, reconstruction-based operators, and the watershed transform). The functions use advanced techniques for high performance, including automatic-structuring element decomposition, 32-bit binary image packing, and queue-based algorithms.
Loading...