Hallöchen!

Sebastian Kraft writes:

> [...] 
>
> How do you like the following?
>
> // Constructor with image/camera parameters
> lfModifier (
>       int width,
>       int height,
>       lfPixelFormat format,
>       float crop,
>       float focal,
>       float aperture,
>       float distance
> );
>
> // Prepare corrections for a certain lens
> lfModifier::PrepareCorrections(
>       const lfLens *lens,     
>       lfLensType targeom,
>       float scale,
>       int flags,
>       bool reverse
> );

On the long run, I'm toying with the idea of adding flatfield images
and perspective control in Lensfun.  Whether those are really
senseful and interesting ideas may be discussed when it's due, but
they are good examples of further parameters that may become
necessary:

- Flatfields need the camera (because the sensor/lens *combination*
  is important) and the timestamp (sensor dust may change over
  time).  This affects the constructor parameters.

- Perspective control needs control point coordinates.  This affects
  the Prepare...() parameters.

For such developments, the API should be extensible.  Of course, one
may add optional parameters to the methods.  But appending fields to
a struct, or adding a Prepare...() method, is better in my opinion.

Tschö,
Torsten.

-- 
Torsten Bronger    Jabber ID: [email protected]
                                  or http://bronger-jmp.appspot.com


------------------------------------------------------------------------------
Dive into the World of Parallel Programming The Go Parallel Website, sponsored
by Intel and developed in partnership with Slashdot Media, is your hub for all
things parallel software development, from weekly thought leadership blogs to
news, videos, case studies, tutorials and more. Take a look and join the 
conversation now. http://goparallel.sourceforge.net/
_______________________________________________
Lensfun-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/lensfun-users

Reply via email to