Could I use my own nginx image as an ingress contorller?

In our traditional service deployment, the architecture is:


We use use the nginx(openresty) as the API Gateway to implement the authentication and traffic routing. There are many custom development on the nginx(openresty). We added our own module, and there are some own directives.

When we want to introduce kubenetes ingress nginx, we want to know that if we can use our own nginx image as the ingress controller ?
To more specific, only to replace the offcial nginx image, and then add some extened annotations.

I didn’t find any documents or blogs talking about this situation.
Thank you very much if you could offer some advice!