progyadeep / time_table_analyser

A python image processing program that will analyse your VIT time table and show the free and filled time slots of the entire week.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

TIME TABLE ANALYSER

This is a program that analyses the image of a VITian's time table and determines the filled and free slots of the week. It's writen in Python 3.

UPDATE

Previously, the MxN array was being iterated MxN times (all cells). That has been omitted. A calculative iteration now results in reduced execution time. [31st July, 2018]

DEPENDENCIES

Numpy
PIL
json

INPUT

As of 31tst July, 2018, the program takes in a PNG image of a VITian's time table.

The image must contain all the slots completely. You need not include the entire time table image: only the part showing your filled slots may be included. BUT, all the boxes (cells) of the time table, starting from MONDAY 08:00 till your last class should be enclosed entirely, i.e., the individual green boxes that show your slots should not be cropped.

See the file "minimum.png". This file shows the minimum information needed in the image. THE FILE SHOWS CLASSES FROM MONDAY TO FRIDAY.

A time table that does not contain the black demarcation lines (like the file "dead_tt.jpg") won't be accepted.

OUTPUT

A one-dimensional JSON array containing all slots' info for all days of the week, one after the other. For each day, there are 13 values, as there are 13 time slots everyday (TH + LAB)
1 = Filled slot
0 = Empty slot

The first 13 values of the JSON array are the time slot values for Monday, the next 13 for Tuesday, and so on.

CONSTRAINTS

It can only work upon PNG files right now. It can take in JPG/JPEG files too but there's a high possibility of errors, as there's no fixed compression threshold for JPG/JPEG files and the pixel values vary largely.

DOCUMENTATION

A detailed documentation can be found in the DOCUMENTATION.md file in this repository.

About

A python image processing program that will analyse your VIT time table and show the free and filled time slots of the entire week.


Languages

Language:Python 100.0%