Sonador Viewer: Frontend architcture, code overview, API organization authored by Rob Oakes's avatar Rob Oakes
Frontend documentation for the Sonador Viewer. Describes organization, components, and function.

* Architecture
  * Dependencies and what role they play in the application.
  * Code and repository organization.
  * Core packages and extensions
* Anatomy of a Sonador extension
* VTK extension and tools
* Integration with Cornerstone3D and future development roadmap

Also includes details on the ACL system in Sonador: URL structure, Python examples, and link to engineering notebook.
# Documentation # Documentation
Sonador is an open source platform for medical data and research. It helps researchers and developers solve clinical and scientific challenges by providing tools to create real-time, secure, and scalable solutions. Sonador is an open source platform for medical data and research. It helps researchers and developers solve clinical and scientific challenges by providing tools to create real-time, secure, and scalable solutions.
<img width="100%" src="uploads/img/sonador.capabilities.svg"> <img width="100%" src="uploads/img/sonador.capabilities.svg" />
## [What Is Sonador?](https://sonador.oak-tree.tech) ## [What Is Sonador?](https://sonador.oak-tree.tech)
<img align="right" src="uploads/img/sonador.platform-overview.svg"> <img align="right" src="uploads/img/sonador.platform-overview.svg" />
Artificial Intelligence in Medical Imaging Artificial Intelligence in Medical Imaging
* [AI in Medical Imaging, Part 1: Improving Diagnosis and Care](https://www.oak-tree.tech/articles/medical-ai-imaging01a). The promise of medical AI is a future where "the wisdom contained in the decisions made by nearly all clinicians and outcomes of billions of patients should inform the care of each patient." How do we get there? * [AI in Medical Imaging, Part 1: Improving Diagnosis and Care](https://www.oak-tree.tech/articles/medical-ai-imaging01a). The promise of medical AI is a future where "the wisdom contained in the decisions made by nearly all clinicians and outcomes of billions of patients should inform the care of each patient." How do we get there?
...@@ -30,12 +30,12 @@ Artificial Intelligence in Medical Imaging ...@@ -30,12 +30,12 @@ Artificial Intelligence in Medical Imaging
* [MLflow](https://mlflow.org/). Within [Sonador AI](https://sonador.oak-tree.tech/ai), MLflow is used for tracking model training runs, managing models, hosting binary artifacts centrally to ease deployment, and coordinating MLOps workflows. * [MLflow](https://mlflow.org/). Within [Sonador AI](https://sonador.oak-tree.tech/ai), MLflow is used for tracking model training runs, managing models, hosting binary artifacts centrally to ease deployment, and coordinating MLOps workflows.
* [JupyterLab](https://jupyter.org/). Sonador provides pre-built Docker images with JupyterLab and Python libraries which can be used to prototype complex workflows, visualize data, and document design decisions. * [JupyterLab](https://jupyter.org/). Sonador provides pre-built Docker images with JupyterLab and Python libraries which can be used to prototype complex workflows, visualize data, and document design decisions.
<img width="100%" src="uploads/img/sonador-ai.mlops.svg"> <img width="100%" src="uploads/img/sonador-ai.mlops.svg" />
## [Deployment](deployment.index) ## [Deployment](deployment.index)
<img width="100%" src="uploads/img/sonador.production-deployment.svg"> <img width="100%" src="uploads/img/sonador.production-deployment.svg" />
* [Production Deployment Guide](prod.deployment-guide). Preparation, considerations, and process for deploying Sonador for production. _Takes into account both cloud and on-premise deployments._ * [Production Deployment Guide](prod.deployment-guide). Preparation, considerations, and process for deploying Sonador for production. _Takes into account both cloud and on-premise deployments._
* [Configuration Options: Sonador and Orthanc.](prod.config) Sonador web applciation and Orthanc application configuration files, options, and deployment strategies. * [Configuration Options: Sonador and Orthanc.](prod.config) Sonador web applciation and Orthanc application configuration files, options, and deployment strategies.
...@@ -46,6 +46,7 @@ Artificial Intelligence in Medical Imaging ...@@ -46,6 +46,7 @@ Artificial Intelligence in Medical Imaging
## [Development](dev.index) ## [Development](dev.index)
**[Getting Started](https://www.oak-tree.tech/blog/sonador-quickstart)**. Sonador is an open source cloud platform for medical imaging visualization and research. This article shows you how to get started using the Sonador Development Environment. **[Getting Started](https://www.oak-tree.tech/blog/sonador-quickstart)**. Sonador is an open source cloud platform for medical imaging visualization and research. This article shows you how to get started using the Sonador Development Environment.
* Frontend Development * Frontend Development
- [Viewer Architecture](dev.architecture-sonador.ohif). Overview of the application structure, modules, and repository structure.
- [Configuring Sonador to Allow for Remote OHIF Development](https://www.oak-tree.tech/blog/sonador-ohif-config). While Sonador includes a version of OHIF integrated into the platform, it is also possible to configure it allow a remote OHIF instance. - [Configuring Sonador to Allow for Remote OHIF Development](https://www.oak-tree.tech/blog/sonador-ohif-config). While Sonador includes a version of OHIF integrated into the platform, it is also possible to configure it allow a remote OHIF instance.
* Backend Development * Backend Development
- Sonador builds on a set of components collectiviely referred to as `lib/guru`. `lib/guru` includes a Django framework for [building API endpoints](https://code.oak-tree.tech/django-apps/guru), [securing them](https://code.oak-tree.tech/django-apps/secure), and [creating API clients](https://code.oak-tree.tech/guru-labs/guru-client) to integrate the APIs into other programs. - Sonador builds on a set of components collectiviely referred to as `lib/guru`. `lib/guru` includes a Django framework for [building API endpoints](https://code.oak-tree.tech/django-apps/guru), [securing them](https://code.oak-tree.tech/django-apps/secure), and [creating API clients](https://code.oak-tree.tech/guru-labs/guru-client) to integrate the APIs into other programs.
... ...
......