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
OpenMMLab Pose Estimation Toolbox and Benchmark.

Introduction English | 简体中文 MMPose is an open-source toolbox for pose estimation based on PyTorch. It is a part of the OpenMMLab project. The master b

OpenMMLab 2.8k Dec 31, 2022
This repository focus on Image Captioning & Video Captioning & Seq-to-Seq Learning & NLP

Awesome-Visual-Captioning Table of Contents ACL-2021 CVPR-2021 AAAI-2021 ACMMM-2020 NeurIPS-2020 ECCV-2020 CVPR-2020 ACL-2020 AAAI-2020 ACL-2019 NeurI

Ziqi Zhang 362 Jan 03, 2023
Multispectral Object Detection with Yolov5

Multispectral-Object-Detection Intro Official Code for Cross-Modality Fusion Transformer for Multispectral Object Detection. Multispectral Object Dete

Richard Fang 121 Jan 01, 2023
DeepCAD: A Deep Generative Network for Computer-Aided Design Models

DeepCAD This repository provides source code for our paper: DeepCAD: A Deep Generative Network for Computer-Aided Design Models Rundi Wu, Chang Xiao,

Rundi Wu 85 Dec 31, 2022
AISTATS 2019: Confidence-based Graph Convolutional Networks for Semi-Supervised Learning

Confidence-based Graph Convolutional Networks for Semi-Supervised Learning Source code for AISTATS 2019 paper: Confidence-based Graph Convolutional Ne

MALL Lab (IISc) 56 Dec 03, 2022
Using Convolutional Neural Networks (CNN) for Semantic Segmentation of Breast Cancer Lesions (BRCA)

Using Convolutional Neural Networks (CNN) for Semantic Segmentation of Breast Cancer Lesions (BRCA). Master's thesis documents. Bibliography, experiments and reports.

Erick Cobos 73 Dec 04, 2022
This repository is for Contrastive Embedding Distribution Refinement and Entropy-Aware Attention Network (CEDR)

CEDR This repository is for Contrastive Embedding Distribution Refinement and Entropy-Aware Attention Network (CEDR) introduced in the following paper

phoenix 3 Feb 27, 2022
Manifold Alignment for Semantically Aligned Style Transfer

Manifold Alignment for Semantically Aligned Style Transfer [Paper] Getting Started MAST has been tested on CentOS 7.6 with python = 3.6. It supports

35 Nov 14, 2022
Repository for Traffic Accident Benchmark for Causality Recognition (ECCV 2020)

Causality In Traffic Accident (Under Construction) Repository for Traffic Accident Benchmark for Causality Recognition (ECCV 2020) Overview Data Prepa

Tackgeun 21 Nov 20, 2022
Hierarchical Metadata-Aware Document Categorization under Weak Supervision (WSDM'21)

Hierarchical Metadata-Aware Document Categorization under Weak Supervision This project provides a weakly supervised framework for hierarchical metada

Yu Zhang 53 Sep 17, 2022
PASTRIE: A Corpus of Prepositions Annotated with Supersense Tags in Reddit International English

PASTRIE Official release of the corpus described in the paper: Michael Kranzlein, Emma Manning, Siyao Peng, Shira Wein, Aryaman Arora, and Nathan Schn

NERT @ Georgetown 4 Dec 02, 2021
Source code for Task-Aware Variational Adversarial Active Learning

Contrastive Coding for Active Learning under Class Distribution Mismatch Official PyTorch implementation of ["Contrastive Coding for Active Learning u

27 Nov 23, 2022
Hierarchical Uniform Manifold Approximation and Projection

HUMAP Hierarchical Manifold Approximation and Projection (HUMAP) is a technique based on UMAP for hierarchical non-linear dimensionality reduction. HU

Wilson Estécio Marcílio Júnior 160 Jan 06, 2023
Train SN-GAN with AdaBelief

SNGAN-AdaBelief Train a state-of-the-art spectral normalization GAN with AdaBelief https://github.com/juntang-zhuang/Adabelief-Optimizer Acknowledgeme

Juntang Zhuang 10 Jun 11, 2022
MixRNet(Using mixup as regularization and tuning hyper-parameters for ResNets)

MixRNet(Using mixup as regularization and tuning hyper-parameters for ResNets) Using mixup data augmentation as reguliraztion and tuning the hyper par

Bhanu 2 Jan 16, 2022
Efficient Online Bayesian Inference for Neural Bandits

Efficient Online Bayesian Inference for Neural Bandits By Gerardo Durán-Martín, Aleyna Kara, and Kevin Murphy AISTATS 2022.

Probabilistic machine learning 49 Dec 27, 2022
CLIP2Video: Mastering Video-Text Retrieval via Image CLIP

CLIP2Video: Mastering Video-Text Retrieval via Image CLIP The implementation of paper CLIP2Video: Mastering Video-Text Retrieval via Image CLIP. CLIP2

168 Dec 29, 2022
Official repository of the paper 'Essentials for Class Incremental Learning'

Essentials for Class Incremental Learning Official repository of the paper 'Essentials for Class Incremental Learning' This Pytorch repository contain

33 Nov 27, 2022
pytorch implementation of ABC : Auxiliary Balanced Classifier for Class-imbalanced Semi-supervised Learning

ABC:Auxiliary Balanced Classifier for Class-imbalanced Semi-supervised Learning, NeurIPS 2021 pytorch implementation of ABC : Auxiliary Balanced Class

Hyuck Lee 25 Dec 22, 2022
torchbearer: A model fitting library for PyTorch

Note: We're moving to PyTorch Lightning! Read about the move here. From the end of February, torchbearer will no longer be actively maintained. We'll

631 Jan 04, 2023