Re: [Shotwell] GSoC idea: Shotwell parametric RAW development



On 03/26/2012 02:37 PM, Camilo Polymeris wrote:
Hello all,
my name is Camilo, I am a student&  amateur photographer.
I'd like to propose an idea for GSoC 2012: Implementing parametrized
RAW development in Shotwell.

Hello Camilo - thanks for getting in touch.


A bit of background: I use shotwell for classifying&  sorting photos
everyday, both raw&  jpeg. Additionally i develop the former using
rawstudio. This is an excelent tool, but I would rather have
everything unified -- UI, export possibilities, saving behaviour, etc.

Also, my needs regarding RAW development are quite simple: adjust the
tonal curves (contrast, saturation, temp, etc...) crop, straighten,
lens correction&  sometimes a bit of denoise. Even if only a subset of
these could be done directly in shotwell, it would be a great
improvement.
I believe I am not the only one who would benefit from this, and its
interface could be hidden away from the basic user, so to not
complicate their workflow.

We agree this would be a nice enhancement to Shotwell sooner or later. Your proposal more or less corresponds to this Shotwell ticket, which we've had open for a couple of years now:

http://redmine.yorba.org/issues/1625


I am currently writting a more detailed proposal, but would welcome
any comments on this idea, in particular:

a) Do you think this can&  should be implemented as a plugin?

Shotwell's plugin system is currently limited: a plugin can only implement an import source, a publishing destination or a slideshow transition. There's no way that these enhancements could be a plugin today, and I don't think it makes sense to try to fit them into a plugin anyway - if we implement this it should be part of the Shotwell core.

b) My work plan includes spending the first GSoC term adding the
necessary hooks and parameters to the shotwell core&  the second term
developing the UI&  each tool's particular behaviour. All in all, do
you think that is a good approach?

I think this would be a pretty challenging summer project. We've been impressed with the patches you've sent us so far in http://redmine.yorba.org/issues/4940 and so you may well be up to the task, but I think you should spend some time looking at the code to convince yourself that you think this is really doable in a summer.

One issue is that RAW support in Shotwell is currently slightly broken. In 0.11 we added the ability for the user to switch between the camera's development of a RAW photo (in an embedded or paired JPEG) and Shotwell's development generated using libraw. But we were on a tight schedule and weren't able to iron out all the bugs either for the 0.11 release or for the following 0.12 release (where the GTK 3 port took up tons of time). So this area of Shotwell remains buggy - see, for example

http://redmine.yorba.org/issues/4261
http://redmine.yorba.org/issues/4262
http://redmine.yorba.org/issues/4692

I hope we can improve the situation this spring, but these bugs might still intersect with your work a bit.

Here are some things to ponder: in Shotwell's enhance dialog, which of the adjustments there could be made in libraw? Which adjustments will need to be made later in the pipeline? Does libraw have all the customizable parameters we need today, or will we need to propose changes to libraw itself to make all this work nicely? Can the enhance dialog look exactly the same for RAW photos as it does for JPEG photos, or will we want to add some bells and whistles for RAW? Or should there be an entirely separate dialog for RAW adjustments? With your proposed changes, will the user still be able to open a RAW photo in an external RAW editor? If they have adjustments both in Shotwell and the external RAW editor, which take precedence? I think we'd want to have pretty good answers to all these questions before deciding to embark on this project.

c) If you are a shotwell developer, would you be willing to mentor this project?

Yes - either I or others on the team at Yorba could mentor.  :)

adam


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]