0% found this document useful (0 votes)
163 views4 pages

Wenglor Software Challenge 2018

The document describes a student software challenge to efficiently process image files and apply basic operations like translation and convolution. Participants must create a console application to perform the operations on input images and save the results, as well as a web-based user interface to view the input and output images. Submissions will be evaluated based on execution speed, memory usage, and code quality. The top three entries will receive financial awards.

Uploaded by

aaaaaaa330208193
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
163 views4 pages

Wenglor Software Challenge 2018

The document describes a student software challenge to efficiently process image files and apply basic operations like translation and convolution. Participants must create a console application to perform the operations on input images and save the results, as well as a web-based user interface to view the input and output images. Submissions will be evaluated based on execution speed, memory usage, and code quality. The top three entries will receive financial awards.

Uploaded by

aaaaaaa330208193
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 4

Wenglor Students Software Challenge – 2018

Description:

Processing large files in an efficient manner is of top importance in real world applications. The
objective of this application is to resolve the processing tasks described below by using the
least amount of resources as possible.

Problem to be solved:

On the provided Input Files execute a set of provided image basic operations (i.e image
translation and matrix convolution) in as possible as efficient manner, oferring results as
output image files accompanied by a web based user interface app.

For the following provided challenge archive containing:

Input Files – folder containing 10 X BMP 24bpp color images


Operations file - Operations.txt containing two basic operations:
• image translation of an image rectangle from a source position to a destination
position (i.e translate 350 75 800 400 1450 1050) where:
◦ first number - X coordinate of the source image rectangle(i.e 350)
◦ second number - Y coordinate of the source image rectangle(i.e 75)
◦ third number - Width of the image rectangle to be translated (i.e 800)
◦ fourth number - Height of the image rectangle to be translated (i.e 400)
◦ fifth number - X coordinate of the destination image rectangle (i.e 1450)
◦ sixth number - Y coordinate of the destination image rectangle (i.e 1050)
• convolution matrix of a specified source image rectangle with a specified convolution
3x3 size matrix ( i.e convolution 30 1000 600 300
-1 -1 -1
-1 8 -1
-1 -1 -1 ) where:
◦ first number - X coordinate of the source image rectangle (i.e 30)
◦ second number - Y coordinate of the source image rectangle (i.e 1000)
◦ third number - Width of the source image rectangle (i.e 600)
◦ fourth number - Height of the source image rectangle (i.e 300)
◦ 3x3 convolution matrix coefficients
Output Files – folder containing transformed BMP images provided by you. If not available the
folder must be created.
Sample Files – folder containing sample BMP images to better understand the requirements.
The sample image operations defined inside the Operations.txt file applied on the input image
files resulted into the output image files.
evaluator.exe – application evaluating your executable in terms of execution time (CPU cycles)
and peak memory consumption

complete the following tasks:

Task 1: Web-based User Interface - provide a web-based user interface which must be
able to:
1. Access the images in the Input and Output folders on the file system
2. Display for each input image in the Input folder, the corresponding output
image generated by the application described in Task 2
3. The GUI must allow stepping through the images by user interaction (E.g.
clicking on Next/Previous buttons
4. The GUI must be accessible in the browser by accessing http://127.0.0.1
This is how a simple GUI could look like

5. Please include source files and instructions about running the application

Task 2: Console application - provide a console application which must be able to:
1. Load all the images from the provided Input Files folder
2. Load the provided image operations file – Operations.txt
3. Apply provided operations on every image of the provided input image folder
4. Save/Write the transformed result image into the Output Files folder

The console application must be an executable application in order to be


properly evaluated by the provided evaluation tool.
Submissions: will consist of the source code and the compiled executables – please archive
these. For the web interface, please also include the development versions of the files
(unminified)

Scoring: Code from each entry will be made public when the results are published. The scoring
will be done with the help of the evaluator tool included in this package.

Validation: The resulted transformed images are evaluated for corectness. Every valid entry will
be scored on a 100p scale as follows:

Task 1: 20p
Task 2: 40p
- 10p peak memory consumption:
your_score = LMC/YMC*10p
LMC - lowest peak memory consumption
YMC - peak memory consumption of your application
- 30p execution speed: the total time spent to complete correctly all tasks:
your_score = LET/YET*30p
LET - lowest execution time
YET - execution time of your application
Task 1 + Task 2: 10 p
Application design & code readability: 30p
your_score = code review performed by the contest's organizer

At least 50p are needed to qualify for a prize. Only the first three projects registering
the highest score will be financially rewarded, as specified in the flyer.

Restrictions:
1. You must be a student to participate in this contest
2. Implementing Task 2 will be done in one of the following languages: C++, C# (at
least .NET 4.0), Python

Testing Environment:
1. Windows 7 SP1 on Intel Core i7-3770 CPU
2. For evaluation purposes, the evaluator.exe tool provided in the package will be used.
3. We will use Google Chrome for reviewing the web interface

Using evaluator.exe: copy your executable file in the package folder and run the evaluator tool
with your executable as start parameter. Once the evaluation is ready, it will generate a report
containing the evaluation results.
Things that might help you:
1. using different libraries such as boost
2. consider using a multi-threaded approach
3. think about making compromises between execution speed and memory
consumption
4. think about optimizing the provided operations file before applying the operations

Contest schedule as follows:


13 – 30 november 2018
Providing your solutions (source files included) to [email protected].

03 december – 10 december 2018


Evaluating solutions by the contest organizer. This also includes the need to
present your solution at the company site. We will contact you if this will be the case.

21 december 2018
Latest date for granting contest awards.

Further/detailed informations: please contact [email protected]


[email protected]

You might also like