34
edits
(Elaborated on the task and provided delivery targets) |
|||
(8 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
== A: An introduction == | == A: An introduction == | ||
My name is '''Joonas Lipping'''. | |||
* Please describe yourself in three sentences, one of them regarding your current studies. | * Please describe yourself in three sentences, one of them regarding your current studies. | ||
It is currently my third year studying for an engineer's degree (DI) at Aalto university in Finland. | It is currently my third year studying for an engineer's degree (DI) at Aalto university in Finland. | ||
Line 15: | Line 17: | ||
* Why do you want to participate in the Google Summer of Code? What do you hope to gain by doing so? | * Why do you want to participate in the Google Summer of Code? What do you hope to gain by doing so? | ||
One of my main personal goals right now is to get development experience and hone my programming skills, especially C++, in the context of a large-scale project. | |||
Google Summer of Code allows me to do | Google Summer of Code allows me to do this while helping to improve the state of free software. | ||
I really can't think of a downside to it! | I really can't think of a downside to it! | ||
I first heard of GSoC a few months ago, and I knew instantly that it was something I wanted to do. | I first heard of GSoC a few months ago, and I knew instantly that it was something I wanted to do. | ||
Line 60: | Line 62: | ||
* Please state the commits and patches you already contributed to Octave. | * Please state the commits and patches you already contributed to Octave. | ||
** I have | ** I have contributed a patch to [https://savannah.gnu.org/bugs/?41186 bug #41186]. | ||
** I submitted [https://savannah.gnu.org/patch/?8367 patch #8367]. | ** I submitted [https://savannah.gnu.org/patch/?8367 patch #8367]. | ||
** I have looked into an interpreter problem mentioned on the "Projects" page, and devised a possible solution, which is outlined [https://mailman.cae.wisc.edu/pipermail/octave-maintainers/2014-March/039554.html here] on the mailing list. | ** I have looked into an interpreter problem mentioned on the "Projects" page, and devised a possible solution, which is outlined [https://mailman.cae.wisc.edu/pipermail/octave-maintainers/2014-March/039554.html here] on the mailing list. | ||
** I am working on the dither function, the current state of which you can see [http://www.lippinj.com/octave/dither.cc here]. It's functional, but needs a bit more work before it can be submitted as a patch. | |||
== F: Feeling fine == | == F: Feeling fine == | ||
Line 122: | Line 125: | ||
== Y: Your task == | == Y: Your task == | ||
* Did you select a task from our list of proposals and ideas? | * Did you select a task from our list of proposals and ideas? | ||
** If yes, what task did you choose? Please describe what part of it you especially want to focus on if you can already provide this information. ' | |||
Yes. | |||
** If yes, what task did you choose? Please describe what part of it you especially want to focus on if you can already provide this information. | |||
My task is the one about [http://wiki.octave.org/SoC_Project_Ideas#Improvements_to_N-dimensional_image_processing N-dimensional image processing]. | |||
The project will consist of two parts. | |||
The first part spans the first two thirds of the coding period and consists of extending the existing geometric transformation functions to handle N-dimensional images. | |||
The second part begins work on geometric transformation objects. | |||
It's difficult to predict how far it is possible to go in the allotted time, but the working target is to have a rough functional prototype of the affine2d object and an imwarp function that works with it. | |||
I will also bring the relevant documentation up to speed, with examples where they are missing. | |||
The first part of the project has its deliverables spread over two targets in order to provide some concrete results for the midterm: | |||
====Delivery target I (June 23)==== | |||
'''makeresampler, tformarray''' - | |||
general transformation utilities; tformarray in particular handles transformations of a more general sort than just 2D. These functions are entirely new. | |||
'''imcrop, imresize, imrotate, imtranslate, imtransform''' -- | |||
simple operations on images. These will be extended to support ND images, for which the relevant operation is applied planewise. Their 2D versions already exist in the image package. | |||
The functions shall be in releasable form, with code and tests in their final forms. The documentation shall be in a reasonable state, but doesn't have to be finalized. | |||
====Delivery target II (July 10)==== | |||
'''impyramid''' - a compression algorithm; the paper is available [http://web.mit.edu/persci/people/adelson/pub_pdfs/pyramid83.pdf here]. This does not currently exist in Octave, but will be implemented in a form that is ND-compatible. | |||
This function shall be delivered in finalized form. In addition, documentation for the functions from target I shall be finalized. | |||
====Delivery target III (August 18)==== | |||
Geometric transformation objects have the same function as the tform structs created by maketform, but are class-based. | |||
A functional prototype of the '''affine2d''' object shall be delivered, along with an '''imwarp''' that works with it. The implementation should describe a paradigm that can be easily applied to further transformation objects. | |||
===Timeline=== | |||
{| | |||
!style="text-align:right;"| May 19 | |||
|Coding starts | |||
|- | |||
!style="text-align:right;"| June 23 | |||
|Delivery target I. Midterm evaluations open | |||
|- | |||
!style="text-align:right;"| June 27 | |||
|Midterm evaluations deadline | |||
|- | |||
!style="text-align:right;"| July 10 | |||
|Delivery target II. Work begins on transformation objects | |||
|- | |||
!style="text-align:right;"| August 11 | |||
|Code complete. Cleanup and complement tests where necessary | |||
|- | |||
!style="text-align:right;"| August 18 | |||
|Pencils down; delivery target III. Final evaluations open | |||
|- | |||
!style="text-align:right;"| August 22 | |||
|Final evaluations deadline | |||
|} | |||
In the event that the geometric transformation functions take less time than anticipated, they will be finished ahead of time and work on the transformation objects will begin immediately. | |||
[[Category: Summer of Code]] | [[Category: Summer of Code]] |
edits