GithubHelp home page GithubHelp logo

openspace / ccfits Goto Github PK

View Code? Open in Web Editor NEW
1.0 1.0 1.0 2.61 MB

An unofficial presence of the CCfits software library

License: Other

C++ 61.92% CMake 0.21% Makefile 4.46% Shell 28.15% M4 2.77% Perl 0.32% CSS 1.87% Raku 0.08% JavaScript 0.22%

ccfits's Introduction

OpenSpace Logo OpenSpace is an open source, non-commercial, and freely available interactive data visualization software designed to visualize the entire known universe and portray our ongoing efforts to investigate the cosmos. Bringing the latest techniques from data visualization research to the general public, OpenSpace supports interactive presentation of dynamic data from observations, simulations, and space mission planning and operations. The software works on multiple operating systems (Windows, Linux, MacOS) with an extensible architecture capable of powering both personal computers and also high resolution tiled displays and planetarium domes. In addition, OpenSpace enables simultaneous connections across the globe creating opportunity for shared experiences among audiences worldwide. The target audience of the software reaches from the general public who wishes to explore our universe, enthusiasts interested in hacking the underlying components in OpenSpace to create unique experiences, informal science institutions wishing to create a low-cost, yet powerful exhibition piece, but also scientists desiring to visualize their datasets in a contextualized, powerful software.

License Download Size

System Paper GlobeBrowsing Paper

Contributors Commits

Image

Background

OpenSpace started as a collaboration between Sweden's Linköping University (LiU) and the American Museum of Natural History (AMNH). Development of the software began several years ago through a close collaboration with NASA Goddard's Community Coordinated Modeling Center (CCMC) to model space weather forecasting and continued with visualizations of NASA's New Horizons mission to Pluto and ESA's Rosetta mission to 67P/Churyumov-Gerasimenko. This promising set of preliminary work provided a foundation for continued funding from NASA, the Swedish eScience Research Centre, and the Knut and Alice Wallenberg foundation, which has extended the collaboration to include the University of Utah's Scientific Computing and Imaging (SCI) Institute, New York University's Tandon School of Engineering, multiple informal science institutions across the world, and multiple, international vendors.

Image

Features

Some of the high-level features supported in OpenSpace are:

  • AMNH's Digital Universe catalog of extrasolar datasets (stars, galaxies, quasars, ...)
  • High-resolution planetary images for major objects in the solar system (Earth, Moon, Mars, Venus, ...)
  • Animated 3D models representing space missions (ISS, New Horizons, JWST, ...)
  • Support for custom profiles with arbitrary user-defined content
  • Ability to drive any type of display environment (flat screen, multi-projector, planetariums, ...)
  • Lua and JavaScript interface into the engine allowing highly customized controls
  • Native support to export an interactive sessions as individual frames for video export
  • much much more (see our Changelog)

OpenSpace requires at least support for OpenGL version 3.3, some custom components require at least version 4.2.

Image

Getting Started

This repository contains the source code and example profiles for OpenSpace, but does not contain any data. To build and install the application, please check out the GitHub Wiki. Here, you will find two pages, a build instruction for all operating systems and then additional instructions for Windows, Linux (Ubuntu), and MacOS. Please note that the Apple Silicon series of chips do not support OpenGL natively and Metal 2 does not support double precision accuracy (see here Section 2.1), therefore only the Intel processors for MacOS are supported and maintained.

Requirements for compiling are:

  • CMake version 3.25 or above
  • C++ compiler supporting C++20/C++23 (MSVC 19.39, GCC13, Clang17, AppleClang 15.0.0)
  • Boost
  • Qt

Feel free to create issues for missing features, bug reports, or compile problems or contact us via email. Regarding any issues, you are very welcome on our Slack support channel to which you can freely sign-up.

Image

License

The contents of this repository provided under an MIT license.

Support

OpenSpace is supported by the following institutions:

Image

ccfits's People

Contributors

alexanderbock avatar emiax avatar garrettsummerfi3ld avatar jccosta avatar

Stargazers

 avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

ccfits's Issues

HDU.h HDU.cxx memeory leaks

There are two memory leaks in two files, where strings reserved in a function are not freed by the caller. The patch is

--- CCfits-2.6.orig/HDU.cxx     2023-11-21 14:39:11.057930818 +0100
+++ CCfits-2.6/HDU.cxx  2023-11-21 14:40:00.315733598 +0100
@@ -643,7 +643,8 @@
           {
             if (keyClass == *iterCategories)
             {
-              addKey(itInKeys->second);
+              Keyword * tmp = addKey(itInKeys->second);
+              delete tmp ;
               break;
             }
           }
diff -u CCfits-2.6.orig/HDU.h CCfits-2.6/HDU.h
--- CCfits-2.6.orig/HDU.h       2023-11-21 14:39:16.117705117 +0100
+++ CCfits-2.6/HDU.h    2023-11-21 14:41:21.884095112 +0100
@@ -1031,7 +1031,9 @@

   inline void HDU::saveReadKeyword (Keyword* newKey)
   {
-    m_keyWord.insert(std::map<String,Keyword*>::value_type(newKey->name(),newKey->clone()));
+    Keyword * tmp = newKey->clone() ;
+    m_keyWord.insert(std::map<String,Keyword*>::value_type(newKey->name(),tmp));
+    delete tmp ;
   }

   inline std::map<String, Keyword*>& HDU::keyWord ()

This has been forwarded to the ccfits maintainers.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.