KeystoneC


The above post discusses the algorithm used in my latest program. You will find it hard to believe that it has taken roughly two years for that algorithm to transform into a full-fledged program but that's how it goes. As usual this page will serve as the changelog:

v1.0 Release 1 was some β-quality start with a simple splash screen:
It was compiled and packaged entirely from within MATLAB R2015a same as the upgrades to other programs that happened in 2015. Also this program became the first to be offered as an 'App' to those who have MATLAB via MathWorks' FileExchange website. (Follow the link below for further details.)

v1.1 Release 2 corrected updated the crop algorithm. Saving an image now gave new & better-worded options. A few minor bug fixes & improvements were also incorporated.

v1.4(.2) Release 3(K) got a revamped GUI (including the welcome screen), updated algorithm to take care of non-convex regions and a custom crop option. It also had a new (& better I think) splash screen:
Revamped GUI included a border extent selector (beyond the default crop region on corrected images) and provided a quick reference to selected & corrected regions. The four buttons to select a region on the images had been removed in favour of a randomly-generated quadrilateral overlay whose corners can be dragged to form the desired region. A progress bar was shown during startup too for consistency across other programs (listed above). Similarly, another change was that (all) the errors were 'caught' (instead of the program just sounding off an annoying 'ding') and all the gory details were displayed so that debugging could be facilitated. This version was compiled with MATLAB R2016a/18b and no reference to 'x64' was made anywhere.

v2.0 Release 4 migrated the GUI based on GUIDE to AppDesigner. This meant a slightly tweaked GUI and slightly updated functionality. Most visible tweaks were that the figure toolbar was split into an axes toolbar (for zoom and pan buttons) & a menubar (for rest of the buttons), and the mouthful 'border extent selector' was renamed to a simple 'crop factor' along with a new slider. Less visible tweaks were the crop options getting re-spaced properly upon resizing of the window and a scrollbar appearing in the right panel (when necessary) so that GUI controls didn't get cropped. [A couple of features involving flexible grids and setting of minimum widths for grids had to be removed as they were not supported in AppDesigner.] Crop algorithm was slightly tweaked so that concave regions were identified better than before. The identification of convex/concave regions was now shown in the "Selected Region". No progress bar was shown during startup as it didn't fit with the overall design of the AppDesigner apps. This version was compiled with MATLAB R2019a-R2021a!

v2.5 Release 5 updates the GUI with new "Flip Image" option, explicit "Save Options" (which are no longer hidden behind the "Save Image" button), display for the "Crop Factor" slider, and display for the "Transformation Matrix". The updated GUI also has a better resizing experience with implementation of minimum widths for various UI components. [Flexible grids are still not supported in AppDesigner.] A new "Settings" menu item has been introduced (check it out on your own) and some settings (like 'last used folder') are saved in the installation folder itself. A lot of old code has been optimized and replaced with new, compact code. Hopefully, this has fixed some old bugs without introducing any new ones. This version is compiled with MATLAB R2021b so new MCR needs to be downloaded again!

No comments:

Post a Comment