ogx / Calculation2D

Extensible 2D image processing framework for C++
3 stars 0 forks source link

Move cmGeneric.cpp and -.h to a separate stub project #99

Open malleor opened 12 years ago

malleor commented 12 years ago

The intention is to provide a stub project to be copied and filled by plugin developers, as opposed to the exemplary plugin cmFlipImage.

carasuca commented 12 years ago

cmFlipImage should be moved to BasicOperation? RFC then...

I suggest the following plugin layout as default:

It should suffice for several use cases:

not sure if C2DPluginSample is required in this case, @ogx WDYT?

malleor commented 12 years ago

@carasuca What editing tools are you thinking about?

malleor commented 12 years ago

How about:

It covers all we need, IMO.

themoob commented 12 years ago

@carasuca What exactly would you put in "C2DPluginBasicOperation"?

carasuca commented 12 years ago

C2DPluginBasicOperation should implement

to answer the upcoming questions, editing tools (1st edition) are supposed to:

I'm also planning on some C2DPluginImageMath (could be part of BasicOperation)

savvy?

themoob commented 12 years ago

C2DPluginBasicOperation should implement: add new data layer, delete layer, delete image, delete all images,

Will be implemented by GUI, there's no need for such plugins. We can however discuss the "delete" utilities in the context of batch (pattern) calculation.

change image format (?)

This will be too general to implement. Also, see last comment.

generate histogram,

What to do next with the histogram? Also, see last comment.

to answer the upcoming questions, editing tools (1st edition) are supposed to: crop image, do color balance, change brightness/contrast,

I'm also planning on some C2DPluginImageMath (could be part of BasicOperation): image algebra image decomposition

I wouldn't put any of that. We will end up with making another Matlab or OpenCV. Let's not forget that the main objective is to facilitate the implementation of such methods, not to provide them. If you release the source code of all the tools, we'll have to deal with the fact that most of the students will just copy and paste parts of our code. It can be released as precompiled plugins. Otherwise I'm against.

PS. you may say that these operations are so trivial to implement that it's just a waste of time for an ordinary user to implement it -- and I will disagree, you should do all the things, even the most basic ones, by yourself, otherwise you won't learn, and that's the actual point; if you just want the effect, install GIMP

carasuca commented 12 years ago

It covers all we need, IMO.

@malleor yes it does.

If you release the source code of all the tools, we'll have to deal with the fact that most of the students will just copy and paste parts of our code.

students? what students?! I thought we're working on an image processing framework ;) omg, what about the non-English students?

I wouldn't put any of that. We will end up with making another Matlab or OpenCV

what did you expect, Marvin?

It can be released as precompiled plugins.

OK, that's one way to go, now how to host them? These are facilities, they are needed for testing, result verification, automation of common tasks. Good examples also. You want everybody to make their own hammers or make another tool shack repository?

you should do all the things, even the most basic ones, by yourself, otherwise you won't learn, and that's the actual point; if you just want the effect, install GIMP

No-one can manage to do all the things and sometimes one ends up only making those basic ones. I believe that by treating basics as granted we can expect more and get more in return. Maybe it's time to make something more that just a CS3/GIMP effect. How do you expect anybody to 'knock it up a notch'?

Histogram view has already been found a useful, yet missing feature. Visual feedback is a must and log output is not preview (sry *nix ppl).

I agree that this framework is for people to implement their own algorithms, not use it for photo edit. If however it will end up being a photo editor, chapeau bas! Meanwhile people will need the said functionality already installed if they want to go for something bigger.

carasuca commented 12 years ago

@themoob I'm all for the precompiled version or even embedded on the client (WebGUI) side.

malleor commented 12 years ago

@carasuca

I took a minute to talk to @themoob about it. We agreed that this repository is aimed at hosting a framework itself and thus should contain only exemplary, stub and test add-ons. The only use case for the framework is building custom plugins. Naturally, _to perform more complex tasks_ one should be provided a set of basic operations, which one will extend with own implementations.

Thus we propose to:

  1. include the basic set of plugins in this repository,
  2. create a separate, private repository for the toolbox,
  3. place toolbox binaries in the framework's repo under bin.

@carasuca @maczekmaczek What do you think?

carasuca commented 12 years ago

private sounds good, but private as in github payable - less so.

malleor commented 12 years ago

@carasuca Sure. We don't need GitHub Premium, we can host it locally.