Ideas
Follow


What's on your personal MATLAB to-do list?

Sven on 27 Feb 2014
Latest activity Reply by DGM on 7 Jul 2023

What MATLAB tools or functions have you been thinking about making but haven't quite gotten around to it?
It can be something specific to your work if you'd like, but it's preferably:
  • the kind of tool or task that we don't really expect in the next MATLAB release (ie., not a frequent entry in a MATLAB wishlist)
  • something that would be useful to you and (hopefully) others if it existed.
  • something that could conceivably be made by people(s) in the user community
Think of it maybe as a file exchange wishlist.
Votes for good ideas . I guess you'll get more votes if it's an idea others want to see made as well.
Probably no single accepted answer, but it would be nice to see what people have thought about and maybe we can bring a few ideas to fruition (or find that someone's already done it)
For example:
  • I've been wanting to write an object-oriented replacement for the NURBS toolbox which is a great toolbox but is very unwieldy to use.
DGM
DGM on 7 Jul 2023
It's not exactly a grand project, but ...
A set of tools for drawing 2D lines/shapes in a raster image (independent of IPT/CVT). My thought was that the core would be a generalized polyline/polygon mask generator with configurable linewidth, miters/endcaps, antialiasing, and fill. The rest of the tools can be extensions to create regular polygons and superellipses.
Figuring out efficient antialiased variable-width mitered polylines was my stumbing block. Wasting time on the forum is just a lot easier.
Image Analyst
Image Analyst on 27 Feb 2014
How about a user interface editor? They thing they call GUIDE is so primitive it's unbelievable. Eventhey admit it. They've been promising a new one since 2006 but since the only thing they added in that time (8 years) was the table control, I've come to not expect it in the forseeable future.
I also am keeping a wish list with dozens of items that I share privately with the Mathworks. They sometimes do do some of the items on the list.
Image Analyst
Image Analyst on 28 Feb 2014
I asked them just yesterday about GUIDE, and the tech support guy said that they are working on an improved GUIDE but he was not able to share any timelines about it - same as they've been saying for the past 8 years. If they're waiting for the next, great improvement in software technology before they release a new version of GUIDE, we'll be waiting forever, because there's always something better just around the corner.
per isakson
per isakson on 28 Feb 2014
With HG2 in place, which hopefully will be soon, don't you think a new GUIDE will raise to the top of their TODO-list?
Sven
Sven on 27 Feb 2014
A triangulation3d class which would basically inherit the standard triangulation class, but add useful features specifically for a 3d volumes such as:
  • volume, area, centroid measurements
  • intriangulation/ontriangulation to query if points are in the volume (well, I've started that part)
  • boolean union/subtraction/intersection with other triangulation3d objects
  • intersection with lines/planes
  • smoothing/reducing of triangles
It would be useful (ie, efficient) here if MATLAB allowed us read access to the internal of triangulation, but I've got a start on this class built
David Young
David Young on 27 Feb 2014
Write my own version of imshow (from the Image Processing Toolbox) so I have it under control and don't get unexpected things happening.
Image Analyst
Image Analyst on 27 Feb 2014
I don't use the 'parent' option very much because if you do, and then call title(), title() affects the last axes you had used -- it doesn't automatically switch the current axes to the one in the imshow. So my title is in the wrong place. That's why I call axes() - so title() works - instead of using 'parent'. Would be nice if they changed that behavior.
Sean de Wolski
Sean de Wolski on 27 Feb 2014
Even if you use the
imshow(...,'parent',ax)
syntax?
David Young
David Young on 27 Feb 2014
For example, when I move a figure window to a second monitor, imshow moves it back again.
Sean de Wolski
Sean de Wolski on 27 Feb 2014
What unexpected things?
Sean de Wolski
Sean de Wolski on 27 Feb 2014
One such thing on my list is a "graphics component" (e.g. uicontrol, uipushtool, axes etc.) state tool.
It would allow you to add a button to your user interfaces that allows a user to change any property of the user interface, e.g. colors, font types, etc. using inspect(). These states would persist across uses of the application. It's already straight forward enough to do in GUIDE (just save the figure), but this would be focused more on programmatic applications where there is no stored figure.
Sven
Sven on 27 Feb 2014
Ah, interesting. How would you think of storing the persistent state? Maybe keeping a temp file with the configuration details inside - a bit like browser cookies?
Sean de Wolski
Sean de Wolski on 27 Feb 2014
That looks similar and like it could be useful at the front end! Though, anything I do would require using only documented functionality.
My purposes were aimed more at the "persistence" part. Once you set these properties once, every time you instantiate the user interface afterwards, it would have these settings.
Sven
Sven on 27 Feb 2014
Hi Sean, is this similar to this entry from Yair? I'm curious what you have in mind here.
Walter Roberson
Walter Roberson on 27 Feb 2014
Index of the release in which each routine appeared or disappeared.
DGM
DGM on 7 Jul 2023
when() is not quite half of a solution, and it's not exactly an index either. I'm not sure if there's a better answer around.
Sean de Wolski
Sean de Wolski on 27 Feb 2014
For a pure function and class list:
This will go back at least a little way. You'd have to also account for product name changes etc.
Sven
Sven on 27 Feb 2014
Ah, yes, this would be useful - basically something like:
funversion(FUNCTION)
... where FUNCTION is a handle or string, and the output lets you work out if various versions of MATLAB had that function. How do you think you'd gather the underlying data? At one point the help docs for each prior MATLAB release were on the web but I think only the latest is up now...