Illuminated3D This project participates in the Nasa Space Apps Challenge 2021.

Overview

NASA-Space-Apps-Challenge-2021

Illuminated3D This project participates in the Nasa Space Apps Challenge 2021.

Documentation of the Illuminat3d App

Version 1.0

The main scope of this application is to plot the light curve of an asteroid for certain values of the input variables. The project consists of two .py files (.py and .py).

GUIFinal.py file

This is the file that we create the User Interface (UI) of our application. It have a space that the user load his 3D model (.stl file format). Then the user must fill in every enrty of the variables in the right form and finally push the Run Program button to see the light curve plot in the corresponding window. The User Interface except all the widgets (Button, Label, Entry, Images) has and 3 functions:

  • browseFiles(): in this function we set the directory that the application can search to find the user's 3D model. When a file is selected then the label of the file explorer change text to specify the path of the file.
  • popup_window_1(): function that triggered when the info button is pressed and pops out an information message.
  • checkInputs(): in this function we check the validity of the input variables and then create an Illuminated object to start running the main program.

Illuminated_Class_Git.py file

In this file we create a class Illuminated to control the core of our program and to plot the light curves of the input 3D models. This class has several functions to produce the expected output.

  • __ init__(self, filename, initRot, rotAxis, frames, albedo, omega): is the contructor of the class which assigns the proper values to the class variables. It recieves as inputs the filename of the 3D model(filename), the initial rotation axis and angle (initRot), the rotational axis (rotAxis), the number of frames (frames), the albedo (albedo) and the omega angle(omega).
  • checkTheModel(self): this function check if the 3D model that the user inserted is valid(close object). Return boolean value True or False.
  • computeIntersectionsAreas(self, multi): recieves a Multipolygon object and returns its total area.
  • multColumns(self, col1, col2): recieves two arrays and produce a new one of the same length. Each element of this array is the multiplication of the two initial arrays' corresponding elements (i.e. new_col[5] = col1[5]*col2[5])
  • sortCoords(self, arr, ind): this is an extra function which sorts the rows of the 2D arr array under the 1D index array.
  • sortDist(self, arr, ind): this is an extra function which sorts the values of the 1D arr array under the 1D index array.
  • desortDist(self, arr, ind): with this function we de-sort the distances array back to its initial structure.
  • computeCoefs(self, coords, dist, dots): compute the coefficients array depending on the coordinates, distances and dots arrays. By taking one triangle at a time we compute the area of each triangle that is seen by the viewer.
  • n_vec(self, tha, thb, thc): return a normalized vector as the cosines of the given angles tha, thb, thc. Each input is the angle that this vector forms with the corresponding axix (x, y, z).
  • v_surf(self, cube ,n_v): return the viewing surface when looking in the n_v direction (either as the source or as the viewer).
  • execution(self): in this function we calibrate the model with its rotation and the position of the light and the viewer and we plot the asteroid's light curve. The number of the plot's points is implied by the number of frames.

Installation

Use the package manager pip to install the necessary libraries.

pip install python-math
pip install numpy-stl
pip install matplotlib
pip install tk
pip install shapely

Execution

After you download the project in your computer, you must move to the directory that the python files are and run the command below.

python GUIFinal.py

Members

  1. Doli Maria
  2. Eleftheriadis Emmanouil
  3. Komitis Dimitrios
  4. Liodis Ioannis
  5. Noula Konstantina
  6. Rodiou Eirini
Owner
Eleftheriadis Emmanouil
Eleftheriadis Emmanouil
Deep Sea Treasure Environment for Multi-Objective Optimization Research

DeepSeaTreasure Environment Installation In order to get started with this environment, you can install it using the following command: python3 -m pip

imec IDLab 6 Nov 14, 2022
Tiny Kinetics-400 for test

Kinetics-400迷你数据集 English | 简体中文 该数据集旨在解决的问题:参照Kinetics-400数据格式,训练基于自己数据的视频理解模型。 数据集介绍 Kinetics-400是视频领域benchmark常用数据集,详细介绍可以参考其官方网站Kinetics。整个数据集包含40

38 Jan 06, 2023
🔥🔥High-Performance Face Recognition Library on PaddlePaddle & PyTorch🔥🔥

face.evoLVe: High-Performance Face Recognition Library based on PaddlePaddle & PyTorch Evolve to be more comprehensive, effective and efficient for fa

Zhao Jian 3.1k Jan 02, 2023
Research on Tabular Deep Learning (Python package & papers)

Research on Tabular Deep Learning For paper implementations, see the section "Papers and projects". rtdl is a PyTorch-based package providing a user-f

Yura Gorishniy 510 Dec 30, 2022
Pytorch domain adaptation package

DomainAdaptation This package is created to tackle the problem of domain shifts when dealing with two domains of different feature distributions. In d

Institute of Computational Perception 7 Oct 22, 2022
Pytorch implementation for RelTransformer

RelTransformer Our Architecture This is a Pytorch implementation for RelTransformer The implementation for Evaluating on VG200 can be found here Requi

Vision CAIR Research Group, KAUST 21 Nov 22, 2022
A dead simple python wrapper for darknet that works with OpenCV 4.1, CUDA 10.1

What Dead simple python wrapper for Yolo V3 using AlexyAB's darknet fork. Works with CUDA 10.1 and OpenCV 4.1 or later (I use OpenCV master as of Jun

Pliable Pixels 6 Jan 12, 2022
A sample pytorch Implementation of ACL 2021 research paper "Learning Span-Level Interactions for Aspect Sentiment Triplet Extraction".

Span-ASTE-Pytorch This repository is a pytorch version that implements Ali's ACL 2021 research paper Learning Span-Level Interactions for Aspect Senti

来自丹麦的天籁 10 Dec 06, 2022
A Collection of LiDAR-Camera-Calibration Papers, Toolboxes and Notes

A Collection of LiDAR-Camera-Calibration Papers, Toolboxes and Notes

443 Jan 06, 2023
KSAI Lite is a deep learning inference framework of kingsoft, based on tensorflow lite

KSAI Lite is a deep learning inference framework of kingsoft, based on tensorflow lite

80 Dec 27, 2022
Sibur challange 2021 competition - 6 place

sibur challange 2021 Решение на 6 место: https://sibur.ai-community.com/competitions/5/tasks/13 Скор 1.4066/1.4159 public/private. Архитектура - однос

Ivan 5 Jan 11, 2022
Cross-view Transformers for real-time Map-view Semantic Segmentation (CVPR 2022 Oral)

Cross View Transformers This repository contains the source code and data for our paper: Cross-view Transformers for real-time Map-view Semantic Segme

Brady Zhou 363 Dec 25, 2022
Fast mesh denoising with data driven normal filtering using deep variational autoencoders

Fast mesh denoising with data driven normal filtering using deep variational autoencoders This is an implementation for the paper entitled "Fast mesh

9 Dec 02, 2022
Code for our paper Domain Adaptive Semantic Segmentation with Self-Supervised Depth Estimation

CorDA Code for our paper Domain Adaptive Semantic Segmentation with Self-Supervised Depth Estimation Prerequisite Please create and activate the follo

Qin Wang 60 Nov 30, 2022
This repository contains the code for: RerrFact model for SciVer shared task

RerrFact This repository contains the code for: RerrFact model for SciVer shared task. Setup for Inference 1. Download SciFact database Download the S

Ashish Rana 1 May 22, 2022
Turn based roguelike in python

pyTB Turn based roguelike in python Documentation can be found here: http://mcgillij.github.io/pyTB/index.html Screenshot Dependencies Written in Pyth

Jason McGillivray 4 Sep 29, 2022
A PyTorch implementation of "Graph Classification Using Structural Attention" (KDD 2018).

GAM ⠀⠀ A PyTorch implementation of Graph Classification Using Structural Attention (KDD 2018). Abstract Graph classification is a problem with practic

Benedek Rozemberczki 259 Dec 05, 2022
Analyses of the individual electric field magnitudes with Roast.

Aloi Davide - PhD Student (UoB) Analysis of electric field magnitudes (wp2a dataset only at the moment) and correlation analysis with Dynamic Causal M

Davide Aloi 7 Dec 15, 2022
PyStan, a Python interface to Stan, a platform for statistical modeling. Documentation: https://pystan.readthedocs.io

PyStan NOTE: This documentation describes a BETA release of PyStan 3. PyStan is a Python interface to Stan, a package for Bayesian inference. Stan® is

Stan 229 Dec 29, 2022
Official MegEngine implementation of CREStereo(CVPR 2022 Oral).

[CVPR 2022] Practical Stereo Matching via Cascaded Recurrent Network with Adaptive Correlation This repository contains MegEngine implementation of ou

MEGVII Research 309 Dec 30, 2022