PIXLISE is an XRF spectroscopy visualisation tool built for the science team behind the PIXL instrument on the NASA Perseverance rover launched to Mars in 2020. It has been released as open source and is intended to be used for many other spectroscopy applications. This repository implements the user interface of the web app. It talks to the API found in the core repository here: https://github.com/pixlise/core
PIXLISE is deployed to https://www.pixlise.org.
/clientcontains source code of Angular client that runs as a single page web app/data-formatsgit sub-module for data-formats repository should check out to here/auth0contains auth0 extensions/.github/workflowscontains github workflows (actions) for build and deployment and trello integration
- https://github.com/pixlise/core contains the core Pixlise API
- https://github.com/pixlise/data-formats contains the protobuf data formats used by the Pixlise API and client
- https://github.com/pixlise/piquant contains the Piquant source code for quantifying data
- Pull down git sub-modules: Make sure you have the git submodules inited - pixlise now contains data-formats as a submodule. Once you have done a git clone of the pixlise repository, you will need to run:
git submodule init
git submodule update
- Set up Auth0 account (www.auth0.com)
- Set up the Auth0 account as per ./auth0/auth0-setup.md
- For local development, ensure you have a
./client/src/local-development-pixlise-config-PIXLISE.jsonfile with the appropriate fields set. See./client/src/local-development-pixlise-config-template.jsonfor what fields there are. You will need set the values:auth0_domainauth0_clientauth0_audienceto Auth0 backend AudienceunassignedNewUserRoleIdto Auth0 Role ID for "Unassigned New User"- NOTE: Other fields potentially need to be set, for example if you're debugging with sentry, the DSN for sentry, etc.
- Run npm install in the
/clientdirectory (NOTE: This has a post-install step (./client/src/version.js) which generates./client/src/environments/version.ts) - Run
./genproto.shto generate protobuf serialisation files (reads fromdata-formatssub-module, outputs to./client/src/app/protolibs. If missing protobuf code generator, install it, see https://github.com/protocolbuffers/protobuf) - Run
npm startin the/clientdirectory - Navigate to http://localhost:4200 in your browser
You should see PIXLISE open to the about page. If this does not happen, check that you do have the configuration json file present (environment.ts references it, if you use a prod build, it may be looking for pixlise-config.json instead).
See the full team here: https://www.pixlise.org/public/about-us#team. Thanks to all who have contributed to PIXLISE!
- Scott Davidoff - Project Lead
- Peter Nemere - QUT Lead Developer
- Ryan Stonebraker - JPL Senior Full Stack Developer
- Lyle Klyne - v4.x UX + Visualization Designer
- Adrian Galvin - v0 - v3.x UI + Visualization Designer
- Tom Barber - JPL Infrastructure Developer
- Michael Fedell - JPL Infrastructure Developer
- Austin Wright - Data Science + Machine Learning Lead
