Hi

First of all I want to thank GSoC evaluation crew for choosing this
project. I'm very excited to work on the Piosson Image Editing project
this summer. I hope that Oiio developers and users will find my work
useful :)


Jeremy,

your questions are very reasonable.

> - How does Poisson Image Editing differ from Gradient Domain compositing?
>  Why did you recommend implementing the former and not the latter?  (It's ok
> if the answer is "I've implemented poisson before and am thus more confident
> in doing it again.")

I don't know what exactly Gradient Domain compositing is but Poisson
image editing also uses gradients during computations. Besides I'm
more confident in Poisson because I've implemented Poisson image
cloning earlier :)

> - Can you point us to a paper to learn more about the specific version of
> the algorithm you plan on implementing?

The main paper I'm basing you can find here:
http://cs.engr.uky.edu/~jacobs/classes/2010_photo/readings/PoissonImageEditing.pdf

> - What is the 'Big O' for this algorithm in terms of input image resolution?
>  I.e., how long will it (roughly) take to process a 1K image? 2K?  4K?

It depends on sparse linear system solver and matrix dimension (NxN,
where N is number of unknown/cloned/computed pixels).


> - Brainstorming here... Is there a way to produce an image representation of
> the output of the poission transform?  I.e., Is it sensical to expose two
> operations: ConvertRGBImageToPoissonImage, ConvertPoissonImageToRGBImage.
>  Then in a node-based compositor (nuke), or command-line tool (oiiotool), we
> could chain together operations to explore whats possible.  For example,
> convert two images to poission.  Do an A over B (using alphas!) and then
> convert back to RGB.  Is it sensical to expose the code in this way?   Can
> all of the clever applications (seamless cloning, image completion, mixed
> gradients, local illumination changes) be expressed as compositing
> operations operating on the spatial representation of poisson intermediate
> outputs?

Poisson image editing is rather a transformation function, not a state
so I guess there is no such thing as PoissonImage and convert
operations between RGB image and PoissonImage.

> - Step one is to spec out the public ImageBufAlgo API for the core
> transform(s) (as referenced above).
>
> Enter your pseudo-code API Here:
> :)
I don't have a lot of time right now but ASAP I'll think it through
and propose a pseudo-code API in a few days time.

> - Tell me about Poisson and temporal stability... (such as if you were to
> use cloning on a frame sequence).
It depends on resolution of images. I was using it for seamlessly
merging a set of images during terrain generation.

> - Tell me about Poisson and RGBA images... (with alpha)   Come to think of
> it... how is color handled at all?  Is each channel handled independently or
> is this processed more in a luma/chroma space?

Each channel is handled independently.

I know that my answers might not be as clear as you would wish but I
hope that when I'll post an api proposition it will explain much more
:)
Also please take a look at the paper I'm basing.

Cheers,
Lukasz
_______________________________________________
Oiio-dev mailing list
Oiio-dev@lists.openimageio.org
http://lists.openimageio.org/listinfo.cgi/oiio-dev-openimageio.org

Reply via email to