Summer of Code - Getting Started: Difference between revisions

Line 192: Line 192:
'''Potential mentor''': Lukas Reichlin
'''Potential mentor''': Lukas Reichlin


=== Low-Level I/O ===
=== Improvements to n-dimensional image processing ===


Octave currently provides file I/O and sockets for communicating with the outside world. Also, the [[instrument control package]] provides basic interfaces for RS232, I2C and the Parallel port. The project would extend the current communication interfaces in octave, allowing octave to directly communicate with measurement systems, data acquisition systems, sensors, robotic systems and the like.  
The image package has partial functionality for n-dimensional images. These images do exist in practice for example in medical imaging where slices from scans are assembled to form medical 3d images, or even exposures taken over time can result in 4d images. All of the base functions should be modified so that they can handle n-dimensional images, and corresponding Matlab functions such as <code>bwconncomp</code. or n-dimensional version of <code>bwdist</code> should be implemented.


Potential interfaces to support could, for example, be GPIB, USB HID, USBTMC, CAN, LIN, SPI. One initial task of the student would be to select a subset of these standards to support, taking, for example, existing drivers into account.


'''Required skills''': C++, system programming knowledge, knowledge of Octave's current handling of file descriptors.
'''Required skills''': Mostly m-file scripting, perhaps some C++. Familiarity with common CS algorithms would be useful.


'''Difficulty''': Mostly medium, depending depending on existing driver support and experience with the protocols
'''Difficulty''': medium.


'''Potential mentors''': Michael Godfrey(?), Andrius Sutas(?), Juan Pablo carbajal
'''Potential mentor''': Jordi Gutiérrez Hermoso