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
StarGANv2-VC: A Diverse, Unsupervised, Non-parallel Framework for Natural-Sounding Voice Conversion

StarGANv2-VC: A Diverse, Unsupervised, Non-parallel Framework for Natural-Sounding Voice Conversion Yinghao Aaron Li, Ali Zare, Nima Mesgarani We pres

Aaron (Yinghao) Li 282 Jan 01, 2023
Anomaly detection analysis and labeling tool, specifically for multiple time series (one time series per category)

taganomaly Anomaly detection labeling tool, specifically for multiple time series (one time series per category). Taganomaly is a tool for creating la

Microsoft 272 Dec 17, 2022
Deploying PyTorch Model to Production with FastAPI in CUDA-supported Docker

Deploying PyTorch Model to Production with FastAPI in CUDA-supported Docker A example FastAPI PyTorch Model deploy with nvidia/cuda base docker. Model

Ming 68 Jan 04, 2023
curl-impersonate: A special compilation of curl that makes it impersonate Chrome & Firefox

curl-impersonate A special compilation of curl that makes it impersonate real browsers. It can impersonate the four major browsers: Chrome, Edge, Safa

lwthiker 1.9k Jan 03, 2023
Code and dataset for AAAI 2021 paper FixMyPose: Pose Correctional Describing and Retrieval Hyounghun Kim, Abhay Zala, Graham Burri, Mohit Bansal.

FixMyPose / फिक्समाइपोज़ Code and dataset for AAAI 2021 paper "FixMyPose: Pose Correctional Describing and Retrieval" Hyounghun Kim*, Abhay Zala*, Grah

4 Sep 19, 2022
This is an open source python repository for various python tests

Welcome to Py-tests This is an open source python repository for various python tests. This is in response to the hacktoberfest2021 challenge. It is a

Yada Martins Tisan 3 Oct 31, 2021
On Out-of-distribution Detection with Energy-based Models

On Out-of-distribution Detection with Energy-based Models This repository contains the code for the experiments conducted in the paper On Out-of-distr

Sven 19 Aug 07, 2022
A tensorflow model that predicts if the image is of a cat or of a dog.

Quick intro Hello and thank you for your interest in my project! This is the backend part of a two-repo application. The other part can be found here

Tudor Matei 0 Mar 08, 2022
Towards Interpretable Deep Metric Learning with Structural Matching

DIML Created by Wenliang Zhao*, Yongming Rao*, Ziyi Wang, Jiwen Lu, Jie Zhou This repository contains PyTorch implementation for paper Towards Interpr

Wenliang Zhao 75 Nov 11, 2022
A little software to generate and save Julia or Mandelbrot's Fractals.

Julia-Mandelbrot-s-Fractals A little software to generate and save Julia or Mandelbrot's Fractals. Dependencies : Python 3.7 or more. (Also possible t

Olivier 0 Jul 09, 2022
This program was designed to detect whether someone is wearing a facemask through a live video stream.

This program was designed to detect whether someone is wearing a facemask through a live video stream. A custom lightweight CNN trained with TensorFlow on a public dataset provided by Kaggle is used

0 Apr 02, 2022
DetCo: Unsupervised Contrastive Learning for Object Detection

DetCo: Unsupervised Contrastive Learning for Object Detection arxiv link News Sparse RCNN+DetCo improves from 45.0 AP to 46.5 AP(+1.5) with 3x+ms trai

Enze Xie 234 Dec 18, 2022
Flower - A Friendly Federated Learning Framework

Flower - A Friendly Federated Learning Framework Flower (flwr) is a framework for building federated learning systems. The design of Flower is based o

Adap 1.8k Jan 01, 2023
Instance-based label smoothing for improving deep neural networks generalization and calibration

Instance-based Label Smoothing for Neural Networks Pytorch Implementation of the algorithm. This repository includes a new proposed method for instanc

Mohamed Maher 1 Aug 13, 2022
Code and Data for the paper: Molecular Contrastive Learning with Chemical Element Knowledge Graph [AAAI 2022]

Knowledge-enhanced Contrastive Learning (KCL) Molecular Contrastive Learning with Chemical Element Knowledge Graph [ AAAI 2022 ]. We construct a Chemi

Fangyin 58 Dec 26, 2022
Predicts an answer in yes or no.

Oui-ou-non-prediction Predicts an answer in 'yes' or 'no'. It is based on the game 'effeuiller la marguerite' in which the person plucks flower petals

Ananya Gupta 1 Jan 15, 2022
Code for 1st place solution in Sleep AI Challenge SNU Hospital

Sleep AI Challenge SNU Hospital 2021 Code for 1st place solution for Sleep AI Challenge (Note that the code is not fully organized) Refer to the notio

Saewon Yang 13 Jan 03, 2022
Automatic caption evaluation metric based on typicality analysis.

SeMantic and linguistic UndeRstanding Fusion (SMURF) Automatic caption evaluation metric described in the paper "SMURF: SeMantic and linguistic UndeRs

Joshua Feinglass 6 Jan 09, 2022
Complete-IoU (CIoU) Loss and Cluster-NMS for Object Detection and Instance Segmentation (YOLACT)

Complete-IoU Loss and Cluster-NMS for Improving Object Detection and Instance Segmentation. Our paper is accepted by IEEE Transactions on Cybernetics

290 Dec 25, 2022
FEMDA: Robust classification with Flexible Discriminant Analysis in heterogeneous data

FEMDA: Robust classification with Flexible Discriminant Analysis in heterogeneous data. Flexible EM-Inspired Discriminant Analysis is a robust supervised classification algorithm that performs well i

0 Sep 06, 2022