Steve on Image Processing

October 16th, 2012

MATLAB R2012b

A month ago, MathWorks shipped its annual September release, R2012b. (MathWorks follows a twice-yearly release schedule for the entire product line.) Several of my fellow bloggers have already described various aspects of the new release. Today I'll take a look at MATLAB, following my typical practice of highlighting a few changes to MATLAB that are particularly interesting to me.

Contents

On the Mac

I became a Mac owner for the first time this summer, so I've been learning more about Macs and about MATLAB on the Mac for the past few months. I was interested to see some improvements in R2012b for the Mac, such as support for full-screen view mode.

Faster Math

I work on the same hallway as the MATLAB Math team, so I get to eavesdrop on what they're doing. As usual, they've speeded up and added multithreading capability to more MATLAB math functions, including the special functions airy, psi, and several Bessel functions. Keep it up, team!

Really Big Tiff files

The original TIFF image file format was limited to a file size of 4 GB or less. A variant called BigTIFF was designed to break through this limit. The function imread can now read BigTIFF files. Writing BigTIFF files is also possible, although the process is more complicated. You'll need to use the Tiff class.

Multiplatform Support for Excel files

Several release cycles ago, we started working on improving Excel file support on platforms other than Windows. This release continues that trend, with several multiplatform Excel file enhancements.

Discoverability of Publish

My friend Loren Shure regularly travels all over the place giving talks about MATLAB. After most of her talks, she tells this tale: "Hey, guess what new MATLAB feature the users in name-your-city were most excited about? Publish!" And then we all laugh kind of sadly, because the Publish feature was added to MATLAB eight years ago!

This story illustrates one of the biggest reasons why MATLAB looks a lot different in R2012b. The organization and presentation of capabilities in the new "Toolstrip" at the top of MATLAB is intended to make it easier for MATLAB users to find, learn, and use important MATLAB capabilities. For example, here's a screen clip of the PUBLISH tab on the Toolstrip:

Refining Document Searches

Finally, I wanted to mention the ability to refine documentation searches in several different ways. If I search for "connected components", the search results page looks like this:

From this point, I can refine my search. Am I interested in results from the Image Processing Toolbox, the Bioinformatics Toolbox, or the Computer Vision System Toolbox? Am I doing sequence analysis or image analysis? Do I want to see function reference pages or examples?

For More Information

For more information about the changes to MATLAB in R2012b, see the Release Notes page.


Get the MATLAB code

Published with MATLAB® R2012b

8 Responses to “MATLAB R2012b”

  1. Ian replied on :

    Great to see another Mathworker using a Mac. I hope this is a bit more incentive to get MATLAB for OS X to be closer feature wise to Windows. The major weakness is clipboard support for figures, I can copy vectors in Windows, but not on OS X.

    And talking about better integration, Applescript dictionary support would enable much better interoperativity with other applications, covering the functionality of missing toolboxes like Excel Link.

  2. Sid replied on :

    It’s great to see bigTIFF support in the Image Processing Toolbox. How does this impact blockproc (if at all) ?
    Specifically, I constantly run into situations where the output of my blockproc runs is a TIFF larger than 4GB. Will the blockproc function be able to write bigTIFF images using the ‘Destination’ parameter ?
    I realize that I can write to JPEG2000 but using (big) TIFF makes the images more usable outside MATLAB.

  3. Ashish replied on :

    Sid, Tiff files created by the ‘Destination’ parameter are normal Tiff files.
    You’ll have to write a custom adapter based on the Tiff class to enable BLOCKPROC to write out BigTIFF files.

  4. Wouter replied on :

    Indeed great to see and experience the improvements on the Mac; however still missing some multiscreen functionality; it would be very nice to be able to use 2 screens in fullscreen mode; i.e. to display all figures by default on screen 1 or screen 2. This could easily be implemented by not closing the Figures window after closing the last figure or by letting the Figures window reappear on the last known location.

  5. Sergey replied on :

    Steve,
    updates are great, but when can we welcome 3-d/N-d versions of bwmorph and edge fuctions?

  6. Steve Eddins replied on :

    Sergey—bwmorph has about 20 different operations, some of which aren’t well defined on more than two dimensions. Can you say more about which specific operations you want to perform in 3D? As for 3D edge detection, I can’t recall having been asked about it before. Can you say more about your application? And is there a particular method or methods that you’d like to see?

  7. Sergey replied on :

    Steve, I usually work with 3D data like stacks of images. If we study semitransparent objects like cells, it is often informative to acquire several images that differ in focus depth (displacement along main optical axis). After some math we can reconstruct cell’s 3D structure.

    As for me, the most useful operations of [b]bwmorph[/b] are [I]majority[/I] and the ones working with skeleton: [I]thin,shrink,branchpoints,endpoints[/I], and [I]skel[/I]. To duplicate them in 3D I previously used [b]applylut/makelut[/b], which are now depleted, the others were “imported” from ImageJ using Miji plugin. For [b]edges[/b] function, I will be happy to see 3D implementation of LoG, zerocross and Canny detectors, these are a bit complicated to implement myself contrary to other, straightforward ones.

  8. Steve Eddins replied on :

    Sergey—Thanks for your input. The bwmorph operations that you mentioned are in the category of operations that don’t have an easy extension to 3D, especially when we are talking about a discrete pixel (or voxel) grid. Also, the edge detection methods you mentioned all have algorithm steps that are difficult to define and/or implement in 3D.


MathWorks
Steve Eddins is a software development manager in the MATLAB and image processing areas at MathWorks. Steve coauthored Digital Image Processing Using MATLAB. He writes here about image processing concepts, algorithm implementations, and MATLAB.

These postings are the author's and don't necessarily represent the opinions of MathWorks.