All Projects → aleph-viewer → aleph

aleph-viewer / aleph

Licence: MIT License
Aleph is a 3D object viewer and annotation/measurement tool built with A-Frame, AMI, StencilJS, and Ionic

Programming Languages

javascript
184084 projects - #8 most used programming language
typescript
32286 projects

Projects that are alternatives of or similar to aleph

block-photos
A photos app built with Ionic and Blockstack as backend.
Stars: ✭ 24 (-62.5%)
Mutual labels:  ionic-framework, stenciljs
aframe-hit-test
A-Frame hit-testing example
Stars: ✭ 39 (-39.06%)
Mutual labels:  threejs, a-frame
DepthKit-A-Frame
🎥 An A-Frame component for rendering DepthKit volumetric videos in WebVR
Stars: ✭ 34 (-46.87%)
Mutual labels:  threejs, a-frame
Ami
AMI Medical Imaging (AMI) JS ToolKit
Stars: ✭ 569 (+789.06%)
Mutual labels:  threejs, ami
lvr
👓 Augmented Reality for everyone - Out of the world experiences
Stars: ✭ 92 (+43.75%)
Mutual labels:  threejs, a-frame
stencil-mobx
No description or website provided.
Stars: ✭ 26 (-59.37%)
Mutual labels:  ionic-framework, stenciljs
ionic-custom-components
🌈 Ionic Tutorial: Mastering Web Components in Ionic Framework. This repo is an Ionic project showcasing Angular custom components and Stencil custom web components.
Stars: ✭ 30 (-53.12%)
Mutual labels:  ionic-framework, stenciljs
model-browser
model-browser is a command line tool available on npm, for browsing local 3D models via a web browser. It currently only supports GLB files.
Stars: ✭ 19 (-70.31%)
Mutual labels:  threejs
ionic4-datepicker
Ionic 4 Datepicker component
Stars: ✭ 78 (+21.88%)
Mutual labels:  ionic-framework
reboot-min-os
🎮 Three.js video game 🎮 Explore a spaceship and solve puzzles with a ball robot tethered to an electric cable.
Stars: ✭ 17 (-73.44%)
Mutual labels:  threejs
vimeo-threejs-player
A plugin for streaming video from Vimeo to WebGL/VR/AR apps
Stars: ✭ 75 (+17.19%)
Mutual labels:  threejs
ionic-surveyjs
Sample project that shows how to integrate SurveyJS in Ionic APP.
Stars: ✭ 28 (-56.25%)
Mutual labels:  ionic-framework
cuberun
A small 3D game built with react-three-fiber
Stars: ✭ 117 (+82.81%)
Mutual labels:  threejs
webgl-image-processing-playground
Image processing shaders with WebGL
Stars: ✭ 15 (-76.56%)
Mutual labels:  threejs
expo-three-orbit-controls
🎥 Three.js Orbit Controls (Camera) bridged into React Native
Stars: ✭ 43 (-32.81%)
Mutual labels:  threejs
threejs-facade
ScalaJS facade for threejs
Stars: ✭ 44 (-31.25%)
Mutual labels:  threejs
ionic-native-sms-retriever-plugin-master
Cross-platform plugin for Cordova / PhoneGap to Retrieve SMS. Available for Android.
Stars: ✭ 16 (-75%)
Mutual labels:  ionic-framework
todo-list
TodoList using Ionic2/3 & Firebase: * PWA * SSO Google plus. * Share list via QRcode. * Upload image from Camera or Storage. * Speech Recognition.
Stars: ✭ 18 (-71.87%)
Mutual labels:  ionic-framework
g3d
Realtime WebGL rendering maps and big data visualizations based on MXFramework and Three.js.
Stars: ✭ 52 (-18.75%)
Mutual labels:  threejs
use-ammojs
ammo.js physics for use with react-three-fiber
Stars: ✭ 16 (-75%)
Mutual labels:  threejs
Aleph Logo

Aleph

PRs Welcome Build Status Open questions Open bugs

Aleph is a 3D object viewer and annotation/measurement tool built with A-Frame, AMI, StencilJS, and Ionic

Aleph

Website

Visit the Aleph demo page to try it out.

remix this

Scope

  • Usable as a web component within any page/framework and has a Universal Viewer integration
  • Has a supporting Control Panel (a separate web component) showing associated settings for a given mesh or volume
  • Straight-forward to debug, using a single source of truth and unidirectional data flow (redux)
  • Themable to allow customised colour schemes (css variables)
  • Encapsulates 3D rendering logic in a well-defined component model, with pre-existing community support/adoption (A-Frame)
  • Utilises the component model to extensibly display 3D media file types (GLTF+DRACO, DICOM)
  • Renders 3D scenes declaratively, decoupling the presentation layer from the application layer
  • Permits annotation of points on a 3D mesh or volume with a title and description
  • Permits measurement of lengths and angles, with the potential to be extended to areas and volumes
  • Permits annotation/measurement data to be stored/retrieved as json
  • Permits slice and volume views of volumetric data, with axis/slice selection and point cloud windowing controls
  • Permits panning, rotating, and animated transitions between annotations/measurements
  • Has "in-scene" annotation/measurement tools as opposed to overlaid, permitting future AR/VR/XR use cases

Getting Started

Clone the repository and run npm install

Dev Builds

For development with readable sources and hot reloading run:

npm run build:dev

Production Builds

For minified production builds run:

npm run build

View on localhost

npm start

Contributing

Read below to learn how to take part in improving Aleph:

  • Fork the repository and run the examples from source
  • Get familiar with Code of Conduct
  • Read our guide to contributing
  • Find an issue to work on and submit a pull request
    • First time contributing to open source? Pick a good first issue to get you familiar with GitHub contributing process.
    • First time contributing to Aleph? Pick a beginner friendly issue to get you familiar with codebase and our contributing process.
    • Want to become a Committer? Solve an issue showing that you understand Aleph objectives and architecture. Here is a good list to start.
  • Could not find an issue? Look for bugs, typos, and missing features.

Feedback

Read below how to engage with Aleph community:

  • Join the discussion on Slack.
  • Ask a question, request a new feature and file a bug with GitHub issues.
  • Star the repository to show your support.

Documentation

Web Components

Aleph can be used to display GLTF files and DICOM series. GLTF can be used in conjunction with DRACO compression.

To annotate/measure an object, open the "Settings" tab in the control panel and check "Enable Node Placement". Clicking on a 3D object will create a node which can be given a title and description. Nodes can be used as points of interest or can be connected via edges. With a node selected, SHIFT + Click to create an edge between that and another node. Edges can be used for measurement and can also be labeled with a title and description. Units of measurement can be changed in the control panel. SHIFT + Click between edges to measure angles.

The two top-level web components are <al-control-panel> and <al-viewer>. <al-control-panel> wraps a tabs-based interface containing <al-url-picker>, <al-settings>, <al-graph-editor>, and <al-console>. <al-viewer> contains the A-Frame scene and all 3D rendering logic. It also contains a Redux store that acts as single source of truth for the viewer and control panel. <al-viewer> can be used independently of <al-control-panel>, which can be lazy loaded to provide additional options.

License

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].