Skip to content

Commit

Permalink
feat(rerun): updates, polish, simplify
Browse files Browse the repository at this point in the history
  • Loading branch information
bryanpaget authored Dec 12, 2023
1 parent 5ab0203 commit d7d7f6f
Showing 1 changed file with 24 additions and 85 deletions.
109 changes: 24 additions & 85 deletions docs/en/1-Experiments/Notebooks/ReRun_EN.ipynb
Original file line number Diff line number Diff line change
Expand Up @@ -5,36 +5,25 @@
"id": "1bd46748-42b9-46ea-9fea-fee20634a793",
"metadata": {},
"source": [
"# Rerun: Visualize everything fast!\n",
"# ReRun: Fast and Powerful Multimodal Data Visualization\n",
"\n",
"![Multimodal Timeseries Data](./img/rerun-multi-1.png)\n",
"\n",
"Rerun is an SDK for visualizing multimodal data that changes over time. It’s used by engineers and researchers in fields like computer vision and robotics to verify, debug, and demo.\n",
"\n",
"Rerun uses an open-core model. Everything in this repository will stay open source and free (both as in beer and as in freedom). In the future, Rerun will offer a commercial product that builds on top of the core free project.\n",
"Welcome to ReRun, your go-to SDK for visualizing multimodal data that dynamically evolves over time. Engineers and researchers in fields like computer vision and robotics leverage ReRun to verify, debug, and demonstrate their projects with unparalleled efficiency.\n",
"\n",
"The Rerun open source project targets the needs of individual developers. The commercial product targets the needs specific to teams that build and run computer vision and robotics products.\n",
"\n",
"Rerun is an SDK and engine for visualizing and interacting with multimodal data streams.\n",
"![Multimodal Timeseries Data](./img/rerun-multi-1.png)\n",
"\n",
"Rerun is\n",
"## Key Highlights\n",
"\n",
"- Simple to integrate and get started with\n",
"- Usable from Python, Rust, and C++\n",
"- Powerful, flexible, and extensible\n",
"- Built in Rust to be cross platform and fast\n",
"- Open source, dual licensed under MIT and Apache 2\n",
"- **Open-Core Model:** ReRun operates on an open-core model, ensuring that everything in this repository remains open source and free. In the future, ReRun will introduce a commercial product that builds upon the robust foundation of the core free project.\n",
"\n",
"Rerun is used by engineers and researchers in fields like computer vision and robotics to verify, debug, and demo.\n",
"- **Tailored for Individuals and Teams:** The open source project caters to the needs of individual developers, while the upcoming commercial product will specifically address the requirements of teams involved in building and running computer vision and robotics products.\n",
"\n",
"## Use ReRun to\n",
"- **Versatile and Cross-Platform:** ReRun is an SDK and engine designed for visualizing and interacting with multimodal data streams. It's simple to integrate and get started with, usable from Python, Rust, and C++, and built in Rust for cross-platform compatibility and speed.\n",
"\n",
"- Stream multimodal data from your code by logging it with the Rerun SDK\n",
"- Visualize and interact with live or recorded streams, whether local or remote\n",
"- **Open Source:** ReRun is committed to open source principles, dual-licensed under MIT and Apache 2.\n",
"\n",
"## Installation:\n",
"## Installation\n",
"\n",
"To install ReRun, execute the following cell in your JupyterLab environment:"
"To unleash the power of ReRun, install it in your JupyterLab environment with a simple command:"
]
},
{
Expand All @@ -57,17 +46,17 @@
"tags": []
},
"source": [
"## Getting Started:\n",
"## Getting Started\n",
"\n",
"If you want to get the most out of ReRun, it is recommended to not use JupyterLab and instead use Linux, Mac or Windows desktop session. You can access the full ReRun viewer that way with\n",
"For an optimal ReRun experience, it's recommended to use a Linux, Mac, or Windows desktop session instead of JupyterLab. Access the full ReRun viewer by running `rr.spawn()` in the following script from your terminal emulator:\n",
"\n",
"``` python\n",
"import rerun as rr\n",
"\n",
"rr.spawn()\n",
"```\n",
"\n",
"However, ReRun can also be run from within JupyterLab. For more information about running ReRun within JupyterLab and the inherint limitations of doing so, please [consult the official documentation](https://www.rerun.io/docs/howto/notebook). The simplest example is to open ReRun using the `memory_recording()` and `show()` methods:"
"However, if JupyterLab is your preferred environment, ReRun seamlessly operates within it. Refer [consult the official documentation](https://www.rerun.io/docs/howto/notebook) for details on running ReRun within JupyterLab. The simplest JupyterLab example is to open ReRun using the `memory_recording()` and `show()` methods:"
]
},
{
Expand All @@ -88,9 +77,9 @@
"id": "b84e8b9d",
"metadata": {},
"source": [
"## Cube\n",
"## 3D Visualization: The Cube\n",
"\n",
"We can also view something simple in 3D space by generating some points and plotting them."
"Experience the simplicity of 3D visualization with ReRun by generating and plotting points in space:"
]
},
{
Expand Down Expand Up @@ -126,40 +115,10 @@
"id": "759d2169",
"metadata": {},
"source": [
"## DNA\n",
"\n",
"This is a minimal example that logs synthetic 3D data in the shape of a double helix. The underlying data is generated\n",
"using numpy and visualized using Rerun.\n",
"\n",
"### How it was made\n",
"\n",
"The full source code for this example is available\n",
"[on GitHub](https://github.com/rerun-io/rerun/blob/latest/examples/python/dna/main.py).\n",
"\n",
"#### Colored 3D points\n",
"\n",
"The colored 3D points were added to the scene by logging the\n",
"[rr.Points3D archetype](https://www.rerun.io/docs/reference/types/archetypes/points3d) to the\n",
"[helix/structure/left](recording://helix/structure/left) and [helix/structure/right](recording://helix/structure/right)\n",
"entities.\n",
"\n",
"#### 3D line strips\n",
"\n",
"The 3D line strips connecting the 3D point pairs are logged as an\n",
"[rr.LineStrips3D archetype](https://www.rerun.io/docs/reference/types/archetypes/line_strips3d) to the\n",
"[helix/structure/scaffolding entity](recording://helix/structure/scaffolding).\n",
"\n",
"#### Rotation\n",
"## 3D Visualization: The DNA\n",
"\n",
"The whole structure is rotated over time by logging a\n",
"[rr.Transform3D archetype](https://www.rerun.io/docs/reference/types/archetypes/transform3d) to the\n",
"[helix/structure entity](recording://helix/structure.Transform3D) that changes over time. This transform determines the rotation of\n",
"the [structure entity](recording://helix/structure) relative to the [helix](recording://helix) entity. Since all other\n",
"entities are children of [helix/structure](recording://helix/structure) they will also rotate based on this transform.\n",
"\n",
"You can visualize this rotation by selecting the two entities on the left-hand side and activating `Show transform` in\n",
"the Blueprint settings on the right-hand side. You will see one static frame (i.e., the frame of\n",
"[helix](recording://helix)) and the rotating frame (i.e., the frame of [structure](recording://helix/structure)).\n"
"Explore a fascinating example of synthetic 3D data visualization in the shape of a double helix:"
]
},
{
Expand Down Expand Up @@ -218,33 +177,9 @@
"id": "cb0cbca9",
"metadata": {},
"source": [
"## Plots\n",
"\n",
"But that's not that impressive. ReRun shines when we view multi-model time-series data. The following code example shows rerun displaying simple plots corresponding to different reading on the same time-series data. This example shows various plot types that you can create using Rerun. Common usecases for such plots would be logging\n",
"losses or metrics over time, histograms, or general function plots.\n",
"\n",
"### How it was made\n",
"\n",
"The full source code for this example is available [on GitHub](https://github.com/rerun-io/rerun/blob/latest/examples/python/plots/main.py).\n",
"\n",
"#### Bar charts\n",
"\n",
"The [bar chart](recording://bar_chart) is created by logging the [rr.BarChart archetype](https://www.rerun.io/docs/reference/types/archetypes/bar_chart).\n",
"## Time-Series Data: Plots that Impress\n",
"\n",
"#### Time series\n",
"\n",
"All other plots are created using the\n",
"[rr.TimeSeriesScalar archetype](https://www.rerun.io/docs/reference/types/archetypes/bar_chart)\n",
"with different settings. Each plot is created by logging scalars at different time steps (i.e., the x-axis).\n",
"\n",
"For the [parabola](recording://curves/parabola) the radius and color is changed over time.\n",
"\n",
"[sin](recording://trig/sin) and [cos](recording://trig/cos) are logged with the same parent entity (i.e.,\n",
"`trig/{cos,sin}`) which will put them in the same view by default.\n",
"\n",
"For the [classification samples](recording://classification/samples) `rr.TimeSeriesScalar(..., scatter=True)` is used to\n",
"create separate points that do not connect over time. Note, that in the other plots the logged scalars are connected\n",
"over time by lines."
"ReRun truly shines when visualizing multi-model time-series data. The following example demonstrates ReRun's prowess in displaying various plots corresponding to different readings on the same time-series data:"
]
},
{
Expand Down Expand Up @@ -349,7 +284,11 @@
"id": "d9bd7e11",
"metadata": {},
"source": [
"See the official ReRun [Python Quickstart](https://www.rerun.io/docs/getting-started/python) for more information about ReRun and what it can do for you."
"## Dive Deeper\n",
"\n",
"For an in-depth understanding of ReRun and its capabilities, refer to the [official ReRun Python Quickstart](https://www.rerun.io/docs/quickstart/python/).\n",
"\n",
"Now, armed with ReRun, embark on a journey of unparalleled data visualization and exploration. Happy coding!"
]
}
],
Expand Down

0 comments on commit d7d7f6f

Please sign in to comment.