Alcedine

Joined 26 February 2014
2,338 bytes added ,  27 March 2014
Elaborated on the task and provided delivery targets
(Elaborated on the task and provided delivery targets)
 
(3 intermediate revisions by the same user not shown)
Line 131: Line 131:


My task is the one about [http://wiki.octave.org/SoC_Project_Ideas#Improvements_to_N-dimensional_image_processing N-dimensional image processing].
My task is the one about [http://wiki.octave.org/SoC_Project_Ideas#Improvements_to_N-dimensional_image_processing N-dimensional image processing].
I plan to specifically focus on the geometric transformations, as I understand that they are in particular need of attention.
I also propose to provide good documentation and examples to those functions where these things are missing.


* Please provide a rough estimated timeline for your work on the task.
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;"| 19 May
!style="text-align:right;"| May 19
|Coding starts
|Coding starts
|-
|-
!style="text-align:right;"| 23-27 June
!style="text-align:right;"| June 23
|Midterm evaluations
|Delivery target I. Midterm evaluations open
|-
!style="text-align:right;"| June 27
|Midterm evaluations deadline
|-
|-
!style="text-align:right;"| 11-18 August
!style="text-align:right;"| July 10
|Feature freeze. Cleanup and complement tests where necessary
|Delivery target II. Work begins on transformation objects
|-
|-
!style="text-align:right;"| 18-22 August
!style="text-align:right;"| August 11
|Final evaluations
|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]]
34

edits