1
Stage/Afstudeer opdrachten Oc´ e R&D
Voor nieuwe Oc´e-producten bedenken informatici onder andere de (software) architectuur, algoritmes, modellen, simulaties en implementaties. De uiteindelijke keuzes komen tot stand door het afwegen van de volgende aspecten: kostprijs, kwaliteit, snelheid, onderhoudbaarheid, servicebaarheid en natuurlijk gebruiksvriendelijkheid. In de dynamische omgeving van research en development bieden we jou de gelegenheid om je vaardigheden te ontplooien en je opgedane kennis toe te passen. De stage- en afstudeeronderwerpen die we aanbieden zijn vaak gerelateerd aan lopend onderzoek. Daarom zal je begeleider iedere dag benieuwd zijn naar je vorderingen. Zijn belangstelling is voor jou een garantie voor voldoende aandacht en begeleiding. Hoewel je werkt aan je eigen opdracht, ben je toch lid van een team dat een grotere doelstelling nastreeft. Je zult merken dat diverse aspecten van je persoonlijkheid en functioneren in een team erg belangrijk zijn. Je krijgt volop de gelegenheid eigenschappen als initiatief, resultaatgerichtheid, sociale vaardigheid en zelfstandigheid te ontwikkelen. Je hebt de kans om tijdens je stage- of afstudeerperiode een kijkje te nemen in ons bedrijf. Je proeft de sfeer en leert de organisatie van binnenuit kennen. Hieronder volgt een selectie uit de opdrachten die op dit moment binnen Oc beschikbaar zijn, de opdrachten hebben indien er niks vermeld staat een duur van ongeveer 5 ` a 6 maanden. Voor meer informatie omtrent de opdrachten kun je contact opnemen met:
[email protected]
1
2
Image Dependent Gamut Mapping(2529)
At Oc´e Technologies B.V., internship positions are available in the field of Color Image Processing. Our work focuses on the development of software methods, which can automatically improve the quality of printed images. Degradation in quality is mainly due to the limited amount of different colors that a printer can produce. The set of printable colors is called the printer gamut. Our group is currently working on gamut mapping algorithms which map colors outside the printer gamut onto printable colors inside the gamut. The goal of the internship is to develop methods with ensure an optimal gamut mapping with respect to human preference. The new methods should make use of both the color distribution as well as the content of the processed image. During the internship, you will develop, implement and evaluate image dependent gamut mapping algorithms. Your tasks include • studying state-of-the-art gamut mapping algorithms, • developing new image dependent gamut mapping algorithms, and • compare these methods on different sets of image pairs.
2
3
Image Quality Modeling(2529)
At Oc´e Technologies B.V., internship positions are available in the field of Color Image Processing. Our work focuses on development of software methods, which can automatically improve the quality of printed images. The comparison and evaluation of such algorithms is currently based on judgments of human observer. Although , this approach ensures the choice of the best algorithm with respect to human preference, it is rather time consuming and expensive. In this research topic, we are looking for methods which take over the role of human observers. Hence, our goal is to find an algorithm which provides the same answers on average as human observer would when comparing images. During the internship, you will develop and implement a program which fulfills the goal above. Your tasks include • Studying state-of-the-art appearance models • Developing new statistically based models for predicting human preference, and • Compare these methods on different sets of image pairs. In summary, the final goal of your task is to develop a complete software, which can be used by employees of Oc´e in the future to optimize their own new algorithms without the need of human comparisons.
3
4
Krant-on-Demand(6077)
4.1
Introduction
Creating a newspaper layout is a manual and expensive process. Personal and on demand news feeds are gaining popularity. Because of the (small) scale of circulation per edition and the on demand aspect of these feeds, a newspaper layout cannot be applied.
4.2
Krant-On-Demand
Krant-on-Demand provides a low-cost and easy to use solution for automatically generating a professional newspaper layout for small circulations. This solution is based on the computer-based application of smart layout and desktop publishing algorithms. Typical usage could be daily company info bulletins, on demand papers for trade fairs or personal news updates. The Krant-onDemand algorithm can create over 100 unique layouts per minute on a normal desktop computer. Combined with the flexibility and the stability of the algorithm, the use of Krant-on-Demand is 100 V 10.000 times cheaper and faster than conventional newspaper layout methods.
4.3
Customers
The commercial possibilities are endless and range from digital clipping service for editions with small circulations to personal on demand newspapers, from professional bulletins for fairs to on daily corporate newspapers. In order to enable these (future) applications a new release of the Krant-On-Demand software is needed. This second release should build upon the existing software and add new functionality. Most interesting are: • Create architecture that is scalable and extendible • Create the new version of the krant on demand software • Enable introduction and payment of advertisements • Include multiple input sources • MSI enabled installation • Web-based service to enhance distribution
4.4
Technical
The current prototype of the Krant on Demand software is a composition of components in Perl , ANSI C, C++ and Shell scripts. It runs on Linux, but can be wrapped in an executable for Windows platforms. It is a true prototype so no good basis for further development, because the code grew iteratively and
4
with a demonstration purpose in mind. So in short, spaghetti code and not much documentation. The challenge is to first create a new architecture for the software that is both scalable and extendible and after that implement a new version based on that architecture that at least has the functionality of the current version, but preferrably adds some most-wanted features. As a fresh academic we expect you to do suggestions for extensions you think are valuable and should be in the software. You are invited to discuss these features, asses their value for the customer and then if deemed profitable, add them to the product. We would like the software to be developed in C++, because it should run on Linux and Windows (perhaps C# on CLR and Mono is also an option). You should preferably have knowledge of XML and PDF, because the software expects XML as input and generates a newspaper in PDF as output. We would like to run the software as a web service instead of a standalone applications, so we expect that technologies as SOAP, WSDL will also be part of the project. If you think this is a challenging assignment, like we do, do not hesitate to apply or come by to talk in depth with us about the assignment.
5
5
Abstract Object Modelling for Finishers(5948)
For the latest generation of Oce DDS Printers from Venlo, an Oce specific finishing protocol (OFI) has been developed to control Finishers via a CAN bus. These Finishers have either been developed by Oce Venlo (HCS, Finisher) or by strategic partners (HCSS). The protocol includes state control, print control, diagnostic and information control and has extensive error detection and error recovery facilities. The main advantage of defining an in-house protocol is that different DDS Printers can use all capabilities of a finisher at maximum productivity/usability. Since all DDS Venlo printers are using the same software architectural base (Embedded Software Reference Architecture), reuse of a finisher for different products has been simplified. To improve the integration of an OFI based finisher in a product-line, the idea exists to develop a generic OFI adapter that is able to obtain all capabilities and constraints from the finisher itself. This information is to be used by the adapter to drive the finisher at optimal performance. However, the question is raised what kind of detailed information needs to be provided. A thorough study of the 3 already available OFI finisher’s solutions will help to create an abstract object model. This model shall than be validated against new finisher developments. (Currently, a very simple object model exists for dfd/dfa Finishers. By means of a set of appr. 30 parameters such a finisher is characterized and can be driven. )
6
6
Simuleer het dynamisch papiergedrag in een Oce Finisher(5948)
Binnen het kader van het Boderc project is er middels een samenwerkingverband tussen het Embedded Systems Institute (www.esi.nl) en Oce Technologies BV een methodiek ontwikkeld om de papierdoorvoer in een printer te simuleren. De kracht van deze methodiek is dat voor het opgestelde model, de papier doorvoer visualiseerd wordt door middel van een animatie. Op zeer eenvoudige wijze kan dan bekeken worden of vellen botsen en of er dus een timingsprobleen zit in een stuk papierbaan. Het onderzoek richt zich hierbij voornamelijk op de doorvoer van verschillende papierformaten en op variaties in de mechanica. Deze ”state of the art” methodiek wordt momenteel in meerdere projecten uitgeprobeerd en de resultaten zijn veelbelovend. Oce biedt je de kans om ervaring op te doen met een aantal simulatietools (o.a Matlab), door middel van een praktijkprobleem in een bestaande oce-finisher (Apparaat dat vellen ontvangt en samenvoegt tot een set) Rondom het ontvangen en het verzamelen van de vellen tot een set, is een stuk mechatronica ontwikkeld waarvan gevalideerd moet worden of het bestaande motorprofiel voldoende robuust is voor allerlei mogelijke variaties in de reeks van binnenkomende vellen. Door middel van onderzoek mbv je eigen simulatieomgeving wordt je uitgedaagd om een aanbeveling te doen om het verzamelgedrag robuuster te maken. Meer achtergrond informatie (zie o.a. sheet 14): Boderc Presentatie HappyFlow Model
7
7
Onderzoek en implementatie mogelijkheden meet node(4211)
Binnen Oc´e worden professionele printers ontwikkeld. Hierbij wordt de kennis van gedrag van het apparaat gerealiseerd door middel van embedded software, gedistribueerd over meerdere processor nodes. Voor de ontwikkeling van deze printers wordt er door mensen van verschillende disciplines aan een groot aantal van fysische parameters gemeten. Voor deze metingen, die niet standaard door de embedded besturing gedaan worden, wordt gebruik gemaakt van een grote diversiteit aan meet apparatuur zoals high speed camera’s, scope’s enzovoort. Beperking aan deze metingen is dat geen relatie gelegd is met de kennis van de besturing. Dit betekent dat er geen tijdsrelatie gelegd kan worden tussen metingen en deze niet gestart kunnen worden door de besturing. Het hoger liggende doel van deze opdracht is duidelijk te krijgen met welke voorzieningen we andere disciplines sneller inzicht in apparaatgedrag kunnen geven zodat onderzoek sneller kan verlopen. Allereerst zal deze opdracht gestart moeten worden met een inventarisatie van gewenste voorzieningen. Hierna zal, op basis van bestaande componenten, een meet node gemplementeerd worden welke een aantal centraal bestuurbare meetvoorziening biedt. Hierbij moet gedacht worden aan het meten van meerdere digitale en analoge signalen, voorzien van tijdsinformatie welke wordt doorgestuurd naar standaard software zoals Excel of Matlab. Hiernaast kan gekeken worden naar interfacing met standaard voorzieningen. Tevens dient deze meet node centraal aangestuurd te kunnen worden zodat het starten van metingen getriggered kan worden door besturings events. Doel van de opdracht is: • Inventariseer de behoefte bij alle disciplines in extra meet- en analysevoorzieningen. • Inventariseer de bestaande voorzieningen en kom tot een aanbeveling welke voorzieningen nieuw ontwikkeld kunnen worden • Implementeer een meet node, gebruikmakend van bestaande componenten, met de nieuwe voorzieningen • Implementeer de centrale aansturing van de meet node met de aansluiting voor meet triggers
8
8
Model driven engineering(1917)
De embedded besturing van een printer wordt bij Oc´e gegenereerd vanuit een Rose-RT model. Zo’n model bestaat uit berichten uitwisselende ”capsules” met elk een toestandsdiagram waaraan codefragmenten zijn toegevoegd (UML 2.0). Aan de andere kant bestaan er ook modellen die de mechanische constellatie van een printer beschrijven. Hierbij gaat het om vorm en lengte van het papierpad, posities van de motoren en sensoren langs dit pad en de aanstuurkarakteristieken van de motoren. Dit laatste model beschrijft in feite ook het complete gedrag van de papieraansturing van de printer. De opdracht omvat het automatisch genereren van (een deel van) de RoseRT besturingsmodellen van de embedded software en de bijbehorende code uitgaande van een gedragsmodel.
9
9
Universeel User Interface testtool(4003)
Oc´e ontwikkelt multifunctionals in projectverband. Binnen elk Oce project wordt de bijbehorende apparaat bediening (user interface) ontwikkeld. En binnen elk project wordt ook een ’teststub’ ontwikkeld om dit user interface mee te testen. Inventarisatie toont aan dat er veel overeenkomsten bestaan tussen deze verschillende ’teststubs’. Zo communiceren ze meestal via hetzelfde protocol en modelleren typisch gedrag van multifunctionals (scan/print/copy). Daarentegen zijn er ook heel veel verschillen tussen de stubs, omdat de apparaat functionaliteit wezenlijk verschilt. De afstudeeropdracht omvat: 1. Inventarisatie van de bestaande UI teststubs 2. Opzetten van een universeel framework voor een UI testtool, waarin het generieke multifunctional gedrag kan worden geconfigureerd, en het specifieke multifunctional gedrag via plugins kan worden toegevoegd.
10
10
Bouwen van een scripting interface in een MVC architectuur(4836)
PrismaPrepare is een project waar een Prepress desktop applicatie wordt gebouwd. Met de applicatie is een repro-medewerker instaat om ’pageprogram’ elementen, zoals tabjes, kaftjes, nietjes, inschiet vellen of boekjes binding, makkelijk te specificeren. PrismaPrepare is een desktop applicatie, gebouwd in C#/.NET 3 en in C++. Het grootste deel van de opdracht zal interacteren met de C# componenten. Momenteel is het specificeren van de de pageprogram elementen alleen mogelijk doormiddel van de grafisch UI. Om een automatisch workflow mogelijk te maken, en daarmee de klant beter te ondersteunen in zijn werk zijn we aan het onderzoeken of het mogelijk is om de ’onderlaag’ aan te sturen van uit een scripting taal (v.b. VBScript, JavaScript) De opdracht bestaat uit: 1. Opbouwen van domeinkennis. 2. Studie naar de toekomst van scripting talen (hoe gaan deze zich ontwikkelen, welke taal moeten we gebruiken) 3. Onderzoeken hoe een scripting interface op de onderlaag gebouwd moet worden (wat is de impact voor de architectuur en voor de bestaande codebase) 4. Maken van een prototype om bovenstaande bevindingen te toetsen aan de werkelijkheid
11
11
A Logical Model for Page Programming and Printer Capabilities(1391)
Oc´e DocWorks (ODW) is an innovative solution addressing the needs of the Central Reprographic Department (CRD). ODW allows the CRD operator a.o. to combine print jobs, route jobs to different printers, split and merge jobs and to do page programming. In this context page programming means the possibility to specify settings like media selection (a4, a3, paper weight, tabs, sheets, etc.), orientation (portrait, landscape) on a page level (as opposed to job level). ODW runs components on the Windows and .NET platforms. To implement the page programming feature, ODW uses a model that describes page programming in a generic way. These generic page programming notions are mapped onto printer-specific commands that of course depend on the used printer. This mapping (say Mp) is quite complex, because (depending on the printer p) many dependencies exist, as a result of which the mapping cannot be expressed as a mere bijection. Currently for each supported printer p, Mp is implemented by means of a specialized software module: one module per printer (family). We want to move to a situation were one module implements Mp for all supported printers p. This implies that the logic for Mp is not contained in the source code, but in some sort of configuration file that is processed by the module. Given the complexity involved, such a configuration file must have great expressive power. Yet it must be possible for a consultant to add support for new printer models relatively easily. The assignment is the following: • Investigate the possibility of using a logical programming language to express Mp for each currently supported printer p. • Design and implement a software module / logical program that implements Mp. • Investigate ways in which non-programmers (i.c. Oc´e consultants) can easily create a mapping Mq for a new printer q. • If necessary, design and implement software tools that the consultants can use for this.
12
12 12.1
Gebruiken van temporale relaties in tekst(3014) Context
Oc´e is een bedrijf dat altijd op zoek is naar methodes die de productiviteit van klanten kan verhogen. Tegenwoordig is de relatie tussen inkomende teksten (email, post, documenten) en de agenda van de ontvanger handmatig. De ontvanger moet bijvoorbeeld in reactie op een verzoek, zelf zijn agenda op de juiste datum openen om te zien of hij beschikbaar is.
12.2
Opdrachtomschrijving
Gegeven de enorme stroom informatie die mensen tegenwoordig ontvangen is het wenselijk dat er, voor zover mogelijk, automatisch een relatie tussen een agenda en de binnengekomen documenten tot stand komt. Hiervoor is het noodzakelijk om uitdrukkingen van tijd (’morgen’, ’overmorgen’,...) in het document te herkennen en te begrijpen, en de juiste relaties tussen agenda en document vast te leggen. De opdracht bestaat uit het implementeren van een algoritme om uitdrukkingen van tijd en hun betekenis in een document (email) te herkennen. Daarnaast zullen de gevonden relaties met een kalender moeten worden geintegreerd. De implementatie zal moeten geschieden middels een kortcyclisch proces. De stagiair wordt aangemoedigd om zijn eigen invulling aan de opdracht te geven.
13
13 13.1
Large Image Viewing and Manipulation over the Internet(3014) Context
Oc´e creert maatwerk document oplossingen voor in kantoor en tekenkamer. Een van de belangrijkste functies van documentoplossingen is het beschikbaar maken documenten op de juiste tijd en plaats. Het internet speelt hierbij een belangrijke rol. Een gescande bouwtekening is al gauw 10.000 bij 10.000 pixels, dit levert bij viewing over het web performance problemen op en dus een lager gebruiksgemak.
13.2
Opdrachtomschrijving
Maak een prototype waarin de snelheid en het gebruiksgemak van het viewen en manipuleren (roteren, zoomen,...) van grote bestanden over het internet sterk verbeterd zijn.
13.3
Deliverables
• een werkend prototype • een rapport met resultaten, conclusies en aanbevelingen
14
14 14.1
Patroonherkenning voor het bemeten van gerealiseerde printkwaliteit(4607) Context
In productieve omgevingen is van belang dat een printer betrouwbaar n productief is. Betrouwbare printers vallen namelijk niet vaak uit en leggen het print-proces dus niet onnodig stil door calamiteiten (hoge uptime). Productieve apparaten hebben een zeer constante printsnelheid: deze vallen dus niet vaak stil door allerhande calibraties of benodigde gebruiker-interacties. Om de betrouwbaarheid nog verder te verhogen zou het helpen om geprinte afbeeldingen door het apparaat te kunnen laten analyseren en beoordelen. Hierdoor kan het apparaat zelf statistiek bijhouden en vroegtijdig aangeven dat tussenkomst van een service-monteur noodzakelijk is. Hiermee wordt onnodig stilvallen van het printproces door calamiteiten voorkomen. Om de productiviteit van het apparaat hoog te laten, zou dit moeten gebeuren zonder speciale testprints te maken. Liever passen we dit toe op de prints die de klant toch al print. Hierdoor verliezen we geen onnodige tijd, en kan het printproces ongestoord door blijven gaan.
14.2
Opdracht
Onderzoek welke informatie uit een willekeurige print gehaald kan worden als de aangestuurde bitmap bekend is. Een goed startpunt zou hier de uitlijning van de verschillende kleuren kunnen zijn. Is het mogelijk om deze uitlijning uit een print te destilleren zonder gebruik te maken van speciale patronen? Andere printkwaliteits-aspecten kunnen de revue ook passeren: vel-beeldregistering, ontwikkel-artefacten (duivelsoren, ondergrond-toner), glans-verschillen, etc... Aspecten die hier naar voren komen zijn: • Werking van het print-procd en beeldbewerking • Correlatie-technieken op gescande patronen • Beeld- en patroonherkenning • 2D rekentooling (Matlab?)
15
15 15.1
Chapterized printing of documents(4076) Context
Oc´e creert maatwerk document oplossingen voor onderwijs, kantoor en tekenkamer. Een van de belangrijkste functies van documentoplossingen is het beschikbaar maken documenten op de juiste tijd en plaats. Binnen scholen worden readers ter beschikking gesteld waarvan de studenten slechts een paar hoofdstukken (tegelijk) nodig hebben, echter ze kunnen momenteel alleen het gehele dictaat kopen.
15.2
Opdrachtomschrijving
De opdracht bestaat uit 3 delen: 1. Onderzoek de behoefte om documenten in delen af te kunnen drukken. Vragen hierbij zijn: • Wat voor opdelingen zijn er? • Hoe definieer je die delen? • Bedieningsmodel? • Hoe maak je dat beheersbaar? • Accounting? • Hoe regel je e.e.a. technisch? • Wat voor ondersteunende applicaties zijn hierbij verder nodig? • etc 2. Maak een prototype van een Print on Demand applicatie waarin de documenten, bv readers, behalve in zijn geheel ook in delen afdrukbaar zijn. 3. Doe gebruikerstesten om de bedienbaarheid van het systeem te optimaliseren
15.3
Deliverables
• een werkend prototype • een rapport met resultaten, conclusies en aanbevelingen
16
16 16.1
Distributed processing a la Seti@home(4076) Context
Oc´e ontwikkelt multifunctional printers, software en diensten voor kantoor en tekenkamer. Deze oplossingen worden steeds productiever en vragen steeds meer processing power om documenttaken te realiseren.
16.2
Opdrachtomschrijving
Boinc is een platform voor gedistribueerd processing in de idle time van een desktop PC. Het is een ontwikkeling van de University of Berkeley naar aanleiding van het succes van Seti@home. (Search for ExtraTerestial Intelligence) De opdracht behelst het onderzoeken hoe een dergelijk gedistribueerd platform kan helpen om performance winst te halen voor een MFP (MultiFunctional Printer). Enkele voorbeelden van vragen waarop een antwoord gezocht worden zijn: • Wat zijn de grenzen van een dergelijke platform? • Wat is de reaktiesnelheid? (kan realtime apps?) • Hoe ga je om met data-intensieve applicaties • etc Bouw een prototype om meer inzicht te krijgen in het potentieel van gedistribueerde platformen voor MFP’s.
16.3
Deliverables
• Een inventarisatie van onderzoeksvragen • Prototypes (voorkeur) en beschouwingen die deze vragen beantwoorden. • Eindrapport met resultaten en aanbevelinegn voor verder onderzoek.
17
17 17.1
Exploring Compressed Image Processing(4076) Context
Oc´e ontwikkelt multifunctional printers, software en diensten voor kantoor en tekenkamer. Snelle beeldbewerking is een belangrijke functie in onze apparaten. In het verleden is er onderzoek gedaan naar de haalbaarheid van beeldbewerking op gecomprimeerde zwart-wit beelden.
17.2
Opdrachtomschrijving
De opdracht behelst een vervolg op het eerder gedane haalbaarheidsonderzoek en bestaat uit twee delen. Enerzijds het onderzoeken van beeldbewerking op gecomprimeerde kleuren images en anderzijds het meten van de performance van de algorithmen. Dit laatste zou zowel voor zwart-wit als kleur gelden.
17.3
Deliverables
• Theoretische analyse van hoe gecomprimeerde kleurenimages bewerkt kunnen worden. • Prototype van de algorithmen in een werkende opstelling. • Performance metingen van deze algoritmen.
18
18
Wireless server-client implementatie voor CAD viewing/markup(5219)
In professionele omgevingen is een toenemende trend dat mobiele werknemers op elke lokatie documentatie kunnen raadplegen. Voor de bouwwereld zou dit kunnen betekenen dat op de bouwplaats de meest recente bouwtekeningen niet meer op papier maar op een handheld device (bijvoorbeeld digitaal papier) via een wireless connectie worden opgehaald en bekeken. Om inzicht te krijgen in de issues die van belang zijn bij een dergelijke opzet, wordt in deze opdracht gevraagd om • Eerste orde requirements voor een remote CAD viewing applicatie vast te leggen • Aan de hand van deze requirements een implementatie te ontwerpen en te prototypen die het concept demonstreert • Ter toetsing van het inzicht, aan de hand van de ervaringen met het prototype te beschrijven waar de volgende stappen (hardwarekeuze, softwarearchitectuur, ...) zouden moeten liggen.
19