Skip to content

Module structure and naming #2

@sfe-SparkFro

Description

@sfe-SparkFro

My initial implementation approach was to split up the Python wrapper functions by module (core, imgproc, and probably imgcodecs too). However, I think this can be improved.

I poked through all available functions in core, and most are either already implemented in ulab-NumPy, or niche use cases IMO. Really, the only function that I think we should have (at least for launch) is inRange(), as it's fairly commonly used and I'm not sure if there's an equivalent implementation from ulab-NumPy. So core just has 1 function.

On the other hand, imgproc will have a lot of functions, probably a few dozen (drawing, blurring, color-space conversions, warping, morphology, etc.). Each function wrapper seems to be anywhere from 25-50 lines of code, so imgproc.cpp could easily become thousands of lines of code, becoming tedious to manage.

I think it may be better to split up the bigger modules into "Topics", following OpenCV's conventions. For example, here are the imgproc Topics. We could then have files called imgproc_image_filtering.cpp, imgproc_geometric_image_transformations.cpp, imgproc_miscellaneous_image_transformations.cpp, imgproc_drawing_functions.cpp, etc.

Open to other suggestions as well!

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions