Re: [Pharo-users] Pharo image processing library
I'll work on those tests and then we'll do the subclass for image processing. :) I'm very happy to contribute to this project. Pablo. El dom., 26 ene. 2020 12:08, Stéphane Ducasse <stephane.ducasse@inria.fr> escribió:
Pablo
if you are interested I would like to increase the tests around Form. The three that exist are in FormTest and to a certain extent to BitBltTest. If you write tests I will happily review and integrate in the system. ( I will see if I can hijack some time during a boring meeting to produce some more).
I also check the reference to Form and clearly the class Form itself refers too much to it. Now with more tests we would be more confident to change.
S.
On 25 Jan 2020, at 17:41, Pablo Navarro <pablo1n7@gmail.com> wrote:
Hi everyone! Thanks for the comments, I don't create a repository yet because, in this first version, I just wanted to try if it was possible, so only create a Form subclass and add three methods.
Form subclass: #ImageForm instanceVariableNames: 'mode' classVariableNames: '' package: âSmallImage'
ââ>
+ aImage "add two image and return a new ImageForm" |aImageResult|
aImageResult := self deepCopy.
0 to: self width do:[:x| 0 to: self height do:[:y| |aPoint aColorA aColorB| aPoint := (Point x: x y: y). aColorA := aImageResult colorAt: aPoint. aColorB := aImage colorAt: aPoint. aImageResult colorAt: aPoint put: aColorA + aColorB. ]]. ^ aImageResult
â->
show: anTitle "Show a image in a window, scale the image to 500" |im| im := (ImageMorph withForm: (self scaledIntoFormOfSize:500) ). im withSnapshotBorder. im borderWidth: 5. im color: (Color gray). im openInWindowLabeled: (anTitle,' | mode: ', self mode asLowercase, '| ', self shape).
-â>
The first problem I found was the class Form return 'Form new' and not 'self class new' so I had to create two class method (in ImageForm):
newFrom: aForm mode: aMode "create an ImageForm from to a Form object." | aImage|
aImage := self new. aImage copyFrom: aForm. aImage mode: aMode. ^ aImage.
â>
open: aFileName âOpen a image.â | aImage aForm| aForm := ImageReadWriter formFromFileNamed: aFileName. aImage := self newFrom: aForm mode: âARGBâ. ^ aImage.
â>
I think that the methods (+ and show) should be directly in the class Form but I didn't want to change the original. If you think it's okay, I can continue working and this week upload to github with their respective tests.
P.S. sorry for my limited English.
Best Regards Pablo. El 25 de ene. de 2020 12:10 -0300, Stéphane Ducasse < stephane.ducasse@inria.fr>, escribió:
what I always find strange is that people do not invest in tests for domains that are super nice to testâ¦.
S.
On 25 Jan 2020, at 16:04, Serge Stinckwich <serge.stinckwich@gmail.com> wrote:
You may have a look to Cuis library : https://github.com/Cuis-Smalltalk/Numerics There is an image analysis package. We have some plan in PolyMath to port it: https://github.com/PolyMathOrg/PolyMath/issues/158
Best,
On Fri, Jan 24, 2020 at 11:20 PM Pablo Navarro <pablo1n7@gmail.com> wrote:
Hi everyone!
Iâm searching for one library for image processing in Pharo. I couldn't find anything (only wrappers) so I tried programming one for basic operations (sum, subtraction) with images using class âFormâ.
What do you think about this?
For providing a context, I'm studying a PhD. in image processing, but all of the operations that I do, do it in Python. I try using Pharo for more fun :D.
Best Regards Pablo.
-- Serge Stinckwic âhâ
Int. Research Unit on Modelling/Simulation of Complex Systems (UMMISCO) âSorbonne University (SU) French National Research Institute for Sustainable Development (IRD)â U âniversity of Yaoundé Iâ, Cameroon "Programs must be written for people to read, and only incidentally for machines to execute." https://twitter.com/SergeStinckwich â
-------------------------------------------- Stéphane Ducasse http://stephane.ducasse.free.fr / http://www.pharo.org 03 59 35 87 52 Assistant: Julie Jonas FAX 03 59 57 78 50 TEL 03 59 35 86 16 S. Ducasse - Inria 40, avenue Halley, Parc Scientifique de la Haute Borne, Bât.A, Park Plaza Villeneuve d'Ascq 59650 France
-------------------------------------------- Stéphane Ducasse http://stephane.ducasse.free.fr / http://www.pharo.org 03 59 35 87 52 Assistant: Julie Jonas FAX 03 59 57 78 50 TEL 03 59 35 86 16 S. Ducasse - Inria 40, avenue Halley, Parc Scientifique de la Haute Borne, Bât.A, Park Plaza Villeneuve d'Ascq 59650 France
participants (1)
-
Pablo Navarro