Team Name
The Planeteers
Timeline
Spring 2023 – Summer 2023
Students
- Daniel Duy Phan
- Jeremiah Richard
- Mohammad Bairuti
- Kenneth Tran
Sponsor
Levent Gurdemir
UTA Planetarium
Abstract
Edge blending software for domed surfaces such as those used in a Planetarium is limited, and the UTA Planetarium is lacking a good solution to this issue. As it stands, the UTA Planetarium uses paper masks to physically cover parts of the projections and perform a crude form of edge blending. This project aims to provide the UTA Planetarium with a Windows application that will perform the necessary edge blending for the Planetarium shows. Our application will allow Planetarium staff to manually select how to blend the edges between different projectors, ultimately improving the overall visual experience of the shows.
Background
The main problem at hand is that the Planetarium’s dome-shaped architecture prevents conventional projector software from supporting edge blending capabilities within the Planetarium. Generally, edge blending requires several projected images or videos to overlap parts of each other in order to polish out the edges and produce a bigger coherent projection display [1]. Most edge blending projectors require the overlapping areas of projected videos and images to be in the shape of flat rectangles or squares [1]. In the case of the Planetarium, however, the curvature of the Planetarium’s dome environment makes it so that the overlapping areas of projected images and videos cannot fit perfectly into flat rectangles or squares. Hence, the Planetarium’s current projector setup cannot support edge blending which has led to the Planetarium staff resorting to paper masks to mitigate these projection issues. While there exists software that specializes in edge blending for dome environments, the costs of these projection software are beyond the Planetarium’s current budget which has resulted in the Planetarium staff attaching paper masks to the projectors to simulate the effects of edge blending. Hence, a major justification for undertaking this project is to improve the Planetarium’s internal infrastructure within a reasonable budget. Our team’s project will allow the Planetarium staff to have more control over their projector setup and lessen their need for third party projector companies to help them set up their projectors. Furthermore, our team’s project will allow the Planetarium staff to save more money in the future by reducing their need to upgrade their projectors in order to support edge blending.
Project Requirements
- Our host application needs to be able to run on any Windows machine.
- Our applications needs to allow users to draw any mask of their choosing for any configured projector by either letting the user click and draw any shape of their choosing or input numerical values for changing masked lines.
- Any mask information that our host application sends to the client servers should be processed and displayed for the corresponding projector immediately.
- Our host application should allow the user to add, edit, and remove projectors from the projection setup.
- Our host application needs to use as few computing resources as it can so that it can run simultaneously with the Planetarium’s video player software called Digitstar.
- Our client application needs to be compatible with NVIDIA RTX 2080 graphics cards.
- All functions in our source code will be documented with in-line comments.
- All of our Python files will be documented via Doxygen
- Our user manual will be provided to our sponsor electronically through the form of a PDF file.
- Our team will email our sponsor a folder containing our source code, executable files, documentation deliverables and a setup video used to run our program.
System Overview
The Planetarium’s projection setup is broken up into two main networking layers: the host computer and the client servers. Each client server has its own graphics card and projector connected to it through an HDMI cable. The Planetarium wants our team to create a host application that allows the user to change the mask of each projector from a remote host computer. As a result, our team has planned out our software architecture into two main layers: the Graphical User Interface and Projector Client Application layers. The Graphical User Interface layer handles all processes that have to do with interaction with the user and collecting information from the user by input. This layer will be compiled and run on the host computer. Meanwhile, the Projector Client Application layer is a separate application that is installed into each of the client servers and handles all necessary interactions with the systems of the client computer itself. Some of the functionalities within the client application layer include creating the client projector mask and put the client projector mask onto a frameless window. The results of the calculations done in the Projector Client Application layer are then displayed to the projector.
![](https://websites.uta.edu/cseseniordesign/files/2023/08/ADS_subsystems-1-1024x776.png)
Results
The current setup at the Planetarium requires our software application to run alongside their video player software called Digistar. One limitation we found while testing was that Digistar has fullscreen priority over our program which conflicts with the displays of our overlay. So, our solution was to change the Planetarium’s system configuration file for Digistar so that Digistar runs in windowed mode. One slight limitation with this approach, however, is that the Planetarium staff will need to manually switch windows to our client mask overlay window anytime Digistar is rebooted.
Demo video (link)
The video below shows our project software running in the main Planetarium room for which we created a mask for each of the client projectors.
Future Work
Our future works are to find a way to have our program be displayed on top of Digistar anytime Digistar needs to be booted up again and add a gradient fill functionality to our graphical user interface to provide the user more customization options when creating masks.
Project Files
Project Charter (link)
System Requirements Specification (link)
Architectural Design Specification (link)
Detailed Design Specification (link)
Poster (link)
References
[1] TMK Interactive. Projection mapping edge blending in qlab. what is edge blending?, Jul 2021.