README and pictures update

This commit is contained in:
Peter Klimai 2020-02-15 13:36:40 +03:00
parent d48418ec98
commit dd9516af51
5 changed files with 59 additions and 23 deletions

View File

@ -2,15 +2,34 @@
# DataForge Visualisation Platform
This repository contains [DataForge](http://npm.mipt.ru/dataforge/)
(also [here](https://github.com/mipt-npm/dataforge-core)) components useful for visualization in
various scientific applications. The main application for now is 3D visualization for particle
physics experiments. Other applications including 2D plots are planned for future.
## Table of contents
The project is developed as a Kotlin multiplatform application, currently
targeting browser JavaScript and JVM.
* [Introduction](#introduction)
* [Features](#features)
* [Modules contained in this repository](#modules-contained-in-this-repository)
* [dataforge-vis-common](#dataforge-vis-common)
* [dataforge-vis-spatial](#dataforge-vis-spatial)
* [dataforge-vis-spatial-gdml](#dataforge-vis-spatial-gdml)
* [dataforge-vis-jsroot](#dataforge-vis-jsroot)
* [Demonstrations](#demo)
* [Spatial Showcase](#spatial-showcase)
* [Muon Monitor](#muon-monitor)
* [GDML](#gdml)
Main features:
## Introduction
This repository contains a [DataForge](#about-dataforge)\-based framework
used for visualization in various scientific applications.
The main framework's use case for now is 3D visualization for particle physics experiments.
Other applications including 2D plots are planned for the future.
The project is being developed as a Kotlin multiplatform application, currently targeting browser
JavaScript and JVM.
## Features
The main framework's features for now include:
- 3D visualization of complex experimental set-ups
- Event display such as particle tracks, etc.
- Scales up to few hundred thousands of elements
@ -18,14 +37,24 @@ Main features:
- Object tree with property editor
- Settings export and import
- Multiple platform support
## Modules contained in this repository:
## About DataForge
DataForge is a software framework for automated scientific data processing. DataForge Visualization
Platform uses some of the concepts and modules of DataForge, including: `Meta`, `Configuration`, `Context`,
`Provider`, and some others.
To learn more about DataForge, please consult the following URLs:
* [Kotlin multiplatform implementation of DataForge](https://github.com/mipt-npm/dataforge-core)
* [DataForge documentation](http://npm.mipt.ru/dataforge/)
* [Original implementation of DataForge](https://bitbucket.org/Altavir/dataforge/src/default/)
## Modules contained in this repository
### dataforge-vis-common
Common visualisation objects such as VisualObject and VisualGroup.
Contains a general hierarchy of classes and interfaces useful for visualization.
This module is not 3D-specific.
Class diagram:
@ -33,7 +62,6 @@ Class diagram:
This module also includes configuration editors for JS (in jsMain) and JVM (in jvmMain).
Note: this module is not 3D-specific.
### dataforge-vis-spatial
@ -55,22 +83,23 @@ Some JSROOT bindings.
Note: Currently, this part is experimental and put here for completeness. This module may not build.
### demo
## Demonstrations
Several demonstrations of using the dataforge-vis framework:
The `demo` module contains several demonstrations of using the `dataforge-vis` framework:
##### spatial-showcase
### spatial-showcase
Contains a simple demonstration (grid with a few shapes that you can rotate, move camera, etc.).
Contains a simple demonstration with a grid including a few shapes that you can rotate, move camera, and so on.
Some shapes will also periodically change their color and visibility.
To see the demo: run `demo/spatial-showcase/distribution/installJsDist` Gradle task, then open
To see the demo: run `demo/spatial-showcase/Tasks/distribution/installJsDist` Gradle task, then open
`build/distribuions/spatial-showcase-js-0.1.0-dev/index.html` file in your browser.
Other demos can be built similarly.
Example view:
![](doc/resources/spatial-showcase.png)
##### muon-monitor
### muon-monitor
A full-stack application example, showing the
[Muon Monitor](http://npm.mipt.ru/projects/physics.html#mounMonitor) experiment set-up.
@ -80,12 +109,19 @@ Includes server back-end generating events, as well as visualization front-end.
To run full-stack app (both server and browser front-end), run
`demo/muon-monitor/application/run` task.
Example view:
![](doc/resources/muon-monitor.png)
##### gdml
### gdml
Visualization example for geometry defined as GDML file. Once you open Web application,
drag-and-drop GDML file to the window to see visualization. For example file, use
`demo\gdml\src\jsMain\resources\cubes.gdml`.
Visualization example for geometry defined as GDML file.
![](doc/resources/gdml-demo.png)
To build the app, run `demo/gdml/Tasks/distribution/installJsDist` task, then open
`build/distribuions/gdml-js-0.1.0-dev/index.html` file in your browser, and
drag-and-drop GDML file to the window to see visualization. For an example file, use
`demo/gdml/src/jsMain/resources/cubes.gdml`.
Example view:
![](doc/resources/gdml-demo.png)

Binary file not shown.

Before

Width:  |  Height:  |  Size: 22 KiB

After

Width:  |  Height:  |  Size: 6.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 97 KiB

After

Width:  |  Height:  |  Size: 97 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 66 KiB

After

Width:  |  Height:  |  Size: 66 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 47 KiB

After

Width:  |  Height:  |  Size: 47 KiB