Skip to content

Repository files navigation

Block-Model-Compression-Algorithm by Team-Lucky-Seven-Blocks7

--- Software Engineering Project 2021, Semester 2 ---

The document software_architecture.pdf in the Documentation directory contains an overview of the software architecture and the algorithms developed.

Fast CPU / GPU Implementation

A fast CPU and GPU implementation was underway when this project stopped. The Numba package was used. You can find all the changes in the port-to-numba branch

This project is presented as a gamified design and implementation challenge...

  1. We are required to develop the program which can take uncompressed input data on standard input and produce compressed output data on standard output with no loss.

  2. And submit either an .exe file or a Python script to a verification service: MAPTEK TITAN.

  3. The verification service will execute our code and score it compared to all the other entries received on processing speed and compression performance.

  • More description of this project: Click Here and 💾 Google Drive from tutor
  • Agile (Scrum) Project Management: Click Here.
  • The two datasets and validator to test and validate our compression tool (the_intro_one & the_fast_one)
  • And the other two datasets released on 7th Sep (the_stratal_one_42000000_14x10x12 & the_big_one_987417600_8x8x5)
  • Command->> python runner.py -s -v < path to your python or executable file > < test data file path >

Development Environment

If using a version of Anaconda that matches what is used on Titan, then no extra steps are needed. If you are not using that installation of Python, then keep reading.

Python Virtual Environments are used to keep all the dependencies of this project self contained and not mixed up with the system python libraries.

First make sure you are in the Code directory.

Then set up the Python Virtual environment:

python3 -m venv .venv

Then activate the environment:

For Linux/Mac:

$ source .venv/bin/activate

For Windows:

$ .venv\Scripts\activate

The first time you start the virtual environment, install all the development dependencies

$ pip install -r requirements.txt

When you are finished developing, deactivate the environment

$ deactivate

Static Analysis

Static analysis tools should be run on the code before committing and especially before merging. First the flake8 command should be used to check coding style.

$ flake8 directory/with/code

Once all those issues are resolved, run the type checker pytype

$ pytype directory/with/code

This will infer and check that the types of variables are passed around correctly. If possible try to eliminate these errors. However if the code runs correctly, you don't need to make large changes to accomodate this tool.

Members in Team Lucky Seven (Blocks7):

NameStudent IDSchool E-mailSnapshot drafting
Po-Yi Leea1806297a1806297@student.adelaide.edu.au1.1 & 5.2
Hechen Wanga1786785a1786785@student.adelaide.edu.au1.2
Yang Lua1782685a1782685@student.adelaide.edu.au2.1
Yuanpeng Liua1784375a1784375@student.adelaide.edu.au2.2
Kaiyang Xuea1784184a1784184@student.adelaide.edu.au3.1
Xiaoman Lia1804817a1804817@student.adelaide.edu.au3.2
Liuyang Yuna1811518a1811518@student.adelaide.edu.au4.1
Jiaping Qia1797683a1797683@student.adelaide.edu.au4.2
Karl Asenstorfera1162576a1162576@student.adelaide.edu.au5.1

Secheduled Scrum Masters:

SprintNameStudent ID
1Po-Yi Leea1806297
2Yuanpeng Liua1784375
3Karl Asenstorfera1162576
4Xiaoman Lia1804817
5Kaiyang Xuea1784184

Shared Assignment File:

WEEKSnapshotDrafting
Week 2Snapshot0 & Initial reportTeam
Week 3Snapshot1.1Po-Yi Lee
Week 4Snapshot1.2Hechen Wang
Week 5Snapshot2.1Yang Lu
Week 6Snapshot2.2Yuanpeng Liu
Week 7Snapshot3.1Kaiyang Xue
Week 8Snapshot3.2Xiaoman Li
Week 9Snapshot4.1Liuyang Yun
Week 10Snapshot4.2Jiaping Qi
Week 11Snapshot5.1Karl Asenstorfer
Week 12Snapshot5.2Po-Yi Lee

Keep in touch Via:

✨Slack Channel: blocks7

About

『Software Engineering Project 2021, Semester 2 of the Uni of Adelaide - Block Model Compression Algorithm』. Our team solved the block model compression problems for Maptek Titian using the specified compression algorithms.

Topics

Resources

Stars

1 star

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages