BSpline curve interpolation
$100-150 USD
Paid on delivery
The task is to write a code that will calculate a interpolating curve similar to the one used in the photoshop "curves correction" tool to correct exposure and colors of photographs. One possible solution is to find a b-spline curve that passes for each of n points assigned. The points are in the plane and of the kind P(x,y). Given a set of N (at least there'll be 2) points (x1,y1)..(xn,yn), I want to get the function y = f(x) such that the curve described by this function passes by each point of the given set and is a natural b-spline of 3rd order. Since in my case I already know that x1 < x2 < .. < xn such function exists and can be found by known mathematical formulas. All numbers can be assumed as floating point values (double precision). I don't have time myself to solve this problem that's why I ask for the help of an expert coder with solid mathematical and analytical background. The code should be ideally written in Borland Delphi, but it's also possible other implementations using C++ or VisualBasic. Attached is a screenshot of the "curves tool" in photoshop.
## Deliverables
Before accepting any offer and committing the job I want to make sure that the final function you will code for me will have very similar (if not exactly same) behaviour of the equivalent photoshop tool. This will be the most important result I expect from your work. The bspline is a suggestion of possible solution.
1) Complete and fully-functional working program(s) in executable form as well as complete source code of all work done.
2) Deliverables must be in ready-to-run condition, as follows (depending on the nature of the deliverables):
a) For web sites or other server-side deliverables intended to only ever exist in one place in the Buyer's environment--Deliverables must be installed by the Seller in ready-to-run condition in the Buyer's environment.
b) For all others including desktop software or software the buyer intends to distribute: A software installation package that will install the software in ready-to-run condition on the platform(s) specified in this bid request.
3) All deliverables will be considered "work made for hire" under U.S. Copyright law. Buyer will receive exclusive and complete copyrights to all work purchased. (No GPL, GNU, 3rd party components, etc. unless all copyright ramifications are explained AND AGREED TO by the buyer on the site per the coder's Seller Legal Agreement).
* * *This broadcast message was sent to all bidders on Thursday Aug 25, 2005 10:16:44 AM:
I wanted to make clear that the code written for this task should be really easy to use.
I don't mind if you provide a class or a just a module with a function, but I need to be able to use the bspline this way: for example if I want to get the value of the function at a given x I just want to write something like Y := bspline(x).
All the internal calculation of coefs and other mathematical steps to get the function should be solved inside the code and shouldnt be addressed to the user of the code.
I also will need just a sample demo exe that will sketch draw the curve on screen when assigning different points. If you are able to provide this demo project already and if I like it, I will without doubt accept your bid offer.
To make sure the result is close to what I expect I remind you to take a look to the photoshop "Curves" tool to correct color and exposu re in photographs. I am not sure of course that it uses b-spline interpolation, but I will accept any result that is very close to that or even better. In case you dont have any clue of how this tool looks like I will soon post a screenshot of it privately for each bidder.
I wanted to tell also that since I recieved bids from both C and Delphi coders, I have to give priority to the Delphi ones. This doesn't mean that C coders are out of race.
If you have any question, feel free to contact me any time,
Regards,
Francesco.
## Platform
Windows All versions
Project ID: #3865671