Enhancements in HaoCurve: Image Manipulation and More

The HaoCurve tool has been developed for 6 years, and its user base is growing.
Every year, many friends provide various suggestions for HaoCurve, leading to an annual increase in the codebase, which has now become so large that it causes lag even when wrapping lines.
This isn’t a major problem; the most troublesome part is that I can no longer understand the code I previously wrote. Often, when I modify a small feature, the entire tool fails to run, resulting in a 24k pure mess.
Refactoring is impossible; each time I can only dig through the mess, sniffing each part to see if it relates to the feature I want to modify, and then decorate the mess.Enhancements in HaoCurve: Image Manipulation and More
Recently, thanks to the enthusiastic users who have raised various needs, I have been particularly fulfilled.Enhancements in HaoCurve: Image Manipulation and More
Enhancements in HaoCurve: Image Manipulation and More
After two weeks of hard work, the optimized HaoCurve has been launched. Let’s take a look at the overall effect.Enhancements in HaoCurve: Image Manipulation and More
Enhancements in HaoCurve: Image Manipulation and More

01

The new version of HaoCurve now supports image translation functionality, and I have also designed a very user-friendly shortcut key feature.
Pressing the Q button once will trigger the image zoom function; pressing it again will activate the image translation function; pressing it once more will cancel both modes, forming a loop.
Enhancements in HaoCurve: Image Manipulation and More
For those interested in controlling image zoom and translation using buttons in the GUI, I have prepared a sample code. Reply “Zoom And Translate” in the public account to automatically get the download link for the sample code.

02

Another significant change is that I have integrated the final image beautification function into the output window. Many people have asked me why the final curve drawn has stars instead of being a single line.Enhancements in HaoCurve: Image Manipulation and More
To end the months of repetitive conversations, I made this modification: the output now defaults to trigger the academic version style. Besides the original styles, borders, line widths, grids, and zoom settings, I have also added a function to save images.
Users no longer need to export data and re-plot the graphs, significantly improving user-friendliness.Enhancements in HaoCurve: Image Manipulation and More
Enhancements in HaoCurve: Image Manipulation and More

03

Another update in the new version of HaoCurve is that the previously criticized four-point calibration has finally been changed to two-point calibration.

When HaoCurve was first developed, it considered a scenario of extracting self-finding data from photos, as the coordinate system was an irregular quadrilateral, requiring four points for calibration.

However, over the years of use, most users encounter scenarios with regular electronic coordinate systems, where calibrating just two diagonal points is sufficient.

Since many people provided feedback on this issue, I optimized it while keeping the option for four-point calibration.

Enhancements in HaoCurve: Image Manipulation and More

04

The last small update is the interruption of the screenshot function.

Some friends reported that after clicking the screenshot button, they wanted to exit midway due to improper operation, but couldn’t and had to complete the operation and then restart HaoCurve.

This process indeed affects user experience, so I made a small fix to the screenshot function: only when the left mouse button is clicked twice at the selected point is it considered a correct screenshot. Any other method, such as any key or right mouse button, will be treated as an operation to exit midway, interrupting the screenshot function.

Additionally, many friends have privately asked me how to implement the screenshot function in MATLAB. I have also prepared a sample code for everyone, which you can further expand upon to develop features that suit your needs. Reply “Screenshot” in the public account to automatically get the download link for the sample code.

Enhancements in HaoCurve: Image Manipulation and More

Other small fixes will not be elaborated here, but I still want to say that don’t think these features are simple and easy to implement. Integrating them into the messy code is nearly impossible without losing three strands of hair. I have truly done my best.Enhancements in HaoCurve: Image Manipulation and More

For those who need HaoCurve, reply “HaoCurve” in the public account to automatically get the download link.

Finally, I wish everyone success in work and study!

Leave a Comment