Editing User:Alcedine

Jump to navigation Jump to search
Warning: You are not logged in. Your IP address will be publicly visible if you make any edits. If you log in or create an account, your edits will be attributed to your username, along with other benefits.

The edit can be undone. Please check the comparison below to verify that this is what you want to do, and then publish the changes below to finish undoing the edit.

Latest revision Your text
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 17: Line 15:


* 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.
Two of my main goals right now are to work on my C++ skills and to gain more experience working on a large, mature project.
Google Summer of Code allows me to do this while helping to improve the state of free software.
Google Summer of Code allows me to do both of these things 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 42: Line 40:
My most significant C++ experience is a four-person project for a university programming course in Fall 2013; the [https://github.com/quarian/revenge-moon-storm sources are available] on GitHub (my account is lippinj).
My most significant C++ experience is a four-person project for a university programming course in Fall 2013; the [https://github.com/quarian/revenge-moon-storm sources are available] on GitHub (my account is lippinj).
The project is a clone of an old Finnish game called minebombers. I have hosted the project doc [http://www.lippinj.com/revenge/document.xhtml here] for convenience, in case you want to take a look.
The project is a clone of an old Finnish game called minebombers. I have hosted the project doc [http://www.lippinj.com/revenge/document.xhtml here] for convenience, in case you want to take a look.
I've recently discovered TopCoder Single Round Matches, which I usually do in C++, although [http://www.topcoder.com/member-profile/Alcedine/ I don't always do so well].


As for .m scripts, I have taken a course on mathematical computer programs, about half of which was about Matlab.
As for .m scripts, I have taken a course on mathematical computer programs, about half of which was about Matlab.
Line 62: Line 59:


* Please state the commits and patches you already contributed to Octave.
* Please state the commits and patches you already contributed to Octave.
** I have contributed a patch to [https://savannah.gnu.org/bugs/?41186 bug #41186].
I have submitted some code for [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 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 125: Line 120:
== 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. ''Please also wiki-link the page for your elaborated proposal here.''
Yes.
** If you apply for a task you have added yourself instead, please describe this task, its scope and people you already talked to concerning it. What field of tasks did you miss on the list?
 
* Please provide a rough estimated timeline for your work on the task. ''This should include the GSoC midterms and personal commitments like exams or vacation ("non-coding time"). Optionally include two or three milestones you expect.''
** 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]]
Please note that all contributions to Octave may be edited, altered, or removed by other contributors. If you do not want your writing to be edited mercilessly, then do not submit it here.
You are also promising us that you wrote this yourself, or copied it from a public domain or similar free resource (see Octave:Copyrights for details). Do not submit copyrighted work without permission!

To edit this page, please answer the question that appears below (more info):

Cancel Editing help (opens in new window)