Plug-in SDK

Upcoming mother of all image editors
bobandiggy
Posts: 28
Joined: Thu Apr 18, 2013 1:28 pm

Re: Plug-in SDK

Post by bobandiggy »

Andy,
Your SDK guide and the information you have provided are great - well written and very valuable. I think you did a terrific service to those who want to program.

I have to admit tho, that I'm probably never going to want to learn a new programming language and probably have done no programming over the last 20 years. I see that looking at source code sort of makes me feel that my head will implode. My wife wants me to go into the garage if I ever want to look at code since she doesn't want me to mess up the house.

Thanks for your efforts - it will help a number of DAPers

Regards
Bob Mc

mhwarner
Posts: 845
Joined: Fri Oct 22, 2010 2:19 pm
Location: Arizona, US

Re: Plug-in SDK

Post by mhwarner »

andydansby wrote:I'm going to place as many tips as are given so I can help push others to develop.
I am a programmer but have not yet taken the time to look at the PR SDK. I would really like to understand why exactly I would want to get involved with it. My primary personal interest in PR is to enhance and modify my photos and to create digital paintings and artwork from them. I wonder if you could give me a few examples or suggestions of what type of plugins I might want to create with the SDK that would be relevant. And what type of plugins would I want to create with effects that I can't create directly in the PR user interface.

Thanks in advance for any insight you (or Oscar) can provide!

andydansby
Posts: 161
Joined: Fri Oct 29, 2010 6:00 am
Location: Syracuse, NY

Re: Plug-in SDK

Post by andydansby »

bobandiggy wrote:Andy,
Your SDK guide and the information you have provided are great - well written and very valuable. I think you did a terrific service to those who want to program.
Thank you for your kind words. I am still working on the SDK guide and am now up to 80 pages, going into some detail on how each of the controls work and providing code on most controls.

As for learning C/C++, learning to programming can be a steep curve, however it is a great all purpose language and very powerful, so you have to at many times be cautious.

My wife just rolls her eyes at me when I try to explain what I am doing.


mhwarner wrote: I am a programmer but have not yet taken the time to look at the PR SDK. I would really like to understand why exactly I would want to get involved with it. My primary personal interest in PR is to enhance and modify my photos and to create digital paintings and artwork from them. I wonder if you could give me a few examples or suggestions of what type of plugins I might want to create with the SDK that would be relevant. And what type of plugins would I want to create with effects that I can't create directly in the PR user interface.

Thanks in advance for any insight you (or Oscar) can provide!
Hi Mary:

First let me say, Wow. I didn't know that you were a programmer as well. An artist, photographer and programmer, you are very talented.

However as for your question to why, there are a number of reasons one would develop, some personal, some for the challenge, and perhaps some professional.

The first 2 are my reasons and perhaps the 3 down the line.

I personally like image processing, it has interested me for years, as a hobby. I like to see how things work, duplicate it myself and perhaps improve on it. Photo-Reactor allows me to do that rather easily as it handles the lower level portion, file handling, display output, memory resources etc. allowing me to concentrate on the processing formula itself. I find it is difficult to concentrate about the lower level and a math formula as well.

As for the second reason, I do like a bit of a challenge as well, keeps the brain working. I do like seeing an immediate return of a formula that I interpreted. Besides, why did George Malloy climb Everest, because it was there. ;) Unfortunately it didn't work for poor George, this is much safer :lol:

Why would anyone else want to work with the SDK, well it would be to improve the product. There are alot of included routines within Photo-Reactor already, however not everything, not by a long shot. Just google image processing and you will see thousands of papers written on this subject, some that require the basics already there (such as fourier transformation), some that require advanced math and some that are a completely new routine just discovered. It's all very interesting.

As for what could be created with the SDK for a non existing plugin. There are many possibilities.

Edge Preserving Blurs
Bi-lateral, Tri-lateral, Anisotropic smooth, fast median etc.

White Balance, there seems to be no one good way to affect all images and research is ongoing.

HDR or HDR simulators to produce many different effects, such as tone mapping, grunge etc.

Photograph enhancement of all types.

Working in different color spaces to increase saturation, quality etc.

Image matting

The list can go on.

Finally, the more filters that can be released, the more popular a program like Photo-Reactor can be. The more popular, the more Oscar it will pay him to develop. The more he develops, the more interesting sw he will develop.

I hope that helps
Andy Dansby

bobandiggy
Posts: 28
Joined: Thu Apr 18, 2013 1:28 pm

Re: Plug-in SDK

Post by bobandiggy »

Hi Andy

"so you have to at many times be cautious.

My wife just rolls her eyes at me when I try to explain what I am doing"

Actually, I'm just a "devil-may-care" old guy - the only way to grow older.

My wife rolls her eyes at me too - but it's almost always not about programming

Regards
Bob Mc

andydansby
Posts: 161
Joined: Fri Oct 29, 2010 6:00 am
Location: Syracuse, NY

Re: Plug-in SDK

Post by andydansby »

The latest version of the SDK guide is now uploaded. The Link is https://skydrive.live.com/view.aspx?res ... na-IzUdJDI

It is also on the MediaChance Photo-Reactor SDK page at
http://mediachance.com/reactor/resource.html

Now 109 pages and indexed, with examples on how to use most of the controls.

enjoy
Andy Dansby

userwww
Posts: 1
Joined: Fri Jun 07, 2013 5:23 am

Re: Plug-in SDK

Post by userwww »

andydansby wrote:I have been experimenting with some white balance routines. In my latest plugin, I demonstrate white balance with 4 standard routines, Histogram stretch, White Pixel, Grey World and Modified Grey World. I also have 4 experimental white balance routines.
Hello, Andy.
Many thanks, WB plugin is very useful.
I'm achieve the best results with CIE XYZ, but some problem with Luminosity.
See attachment, may be my work help you to make good plugin better.
Best Regards from Russia, Oleg.
Attachments
w_balance.zip
(2.21 KiB) Downloaded 209 times

andydansby
Posts: 161
Joined: Fri Oct 29, 2010 6:00 am
Location: Syracuse, NY

Re: Plug-in SDK

Post by andydansby »

White Balance is one of those tricky subjects that seems to be ongoing research among many. There are still scientific papers being written on the subject.

The 4 standard routines are well known among image processing programmers. When I posted the plugin I didn't really detail much, but here goes.

Histogram stretch finds the darkest pixel and lightest pixel and stretches the range from 0-255. So lets say your darkest pixel is 25 and brightest is 230, this routine will stretch it to the darkest being 0 and the brightest being 255, the theory is that will shift the colors in the correct range, it has many faults, but it is generic and common enough that it should be included. It works in RGB color space.

RGB Brightest pixel is very similar to Histogram stretch, except it assumes that the brightest pixel is RGB is white and thus shifts the colors based on that assumption. Again a generic routine. It works in RGB color space.

Grey World is based on the assumption that all colors in summation of the image should be grey. This is like mixing all the paints on an artist pallet and you should get grey, or 1/2 way between white and black is grey (128). It will shift the colors accordingly to make sure that the center of all colors combined is grey. It fails if there are large areas of a single color, i.e. off colored blue sky, off colored large object of any type. It works in RGB color space.

Modified Grey World works like Grey world, but instead of assuming that 1/2 between 0 and 255 is 128, it takes the actual value of the brightest and darkest. It works in RGB color space.

LMS Grey World is very similar to Grey World, but works in a different color space and not as likely to have the same faults as grey world, but can on large objects. It works in LMS (Long, Medium, Short) color space.

Ditto for XYZ D50 and XYZ D65, but works in XYZ Color Space.

As for improvement of the routines, I actually have one better, when I get a free day or two, I plan on cleaning up the code a bit (meaning commenting and renaming the Variables) and releasing it open source so that others may modify it to meet their own needs, though I don't want the first 8 to be messed with unless there is a bug. However before that happens, I want to get back to work on the SDK manual. I've been much to busy with actual work, family and I'm house hunting also.

Kind Regards
Andy Dansby
userwww wrote:
andydansby wrote:I have been experimenting with some white balance routines. In my latest plugin, I demonstrate white balance with 4 standard routines, Histogram stretch, White Pixel, Grey World and Modified Grey World. I also have 4 experimental white balance routines.
Hello, Andy.
Many thanks, WB plugin is very useful.
I'm achieve the best results with CIE XYZ, but some problem with Luminosity.
See attachment, may be my work help you to make good plugin better.
Best Regards from Russia, Oleg.

andydansby
Posts: 161
Joined: Fri Oct 29, 2010 6:00 am
Location: Syracuse, NY

Re: Plug-in SDK

Post by andydansby »

Just posted the latest copy of the SDK guide, 126 pages of SDK goodness for all to enjoy.
It is here
https://skydrive.live.com/view.aspx?res ... na-IzUdJDI

Including a new section on Dual Input filters.

Enjoy

Andy Dansby
Last edited by andydansby on Sat Jun 08, 2013 9:34 am, edited 1 time in total.

andydansby
Posts: 161
Joined: Fri Oct 29, 2010 6:00 am
Location: Syracuse, NY

Re: Plug-in SDK

Post by andydansby »

Here is the source code to White Balance as promised.

I found a few hours this morning to clean up the code, make some comments etc.

The code was written in Visual Studio 2010 C++ express, but is convertible to any flavor of Visual Studio or GNU C++ if you wish :P .

All I ask is, if you modify it, post the modifications for everyone. This is open source to be shared with all.

Here's the file
white balance.zip
White Balance - Open Source By Andy Dansby
(29.79 KiB) Downloaded 256 times
Enjoy
Andy Dansby

Oscar
Site Admin
Posts: 864
Joined: Fri Oct 22, 2010 9:54 am

Re: Plug-in SDK

Post by Oscar »

Thanks, I updated the resource page

Post Reply