From 098b67b5248e38fc87e670d89ed92b04a40fb12d Mon Sep 17 00:00:00 2001 From: Caitlin Date: Wed, 24 Jul 2024 11:02:50 -0400 Subject: [PATCH 01/11] add faq --- docs/source/index.rst | 3 ++- docs/source/user_guide/faq.rst | 43 ++++++++++++++++++++++++++++++++ docs/source/user_guide/guide.rst | 2 +- 3 files changed, 46 insertions(+), 2 deletions(-) create mode 100644 docs/source/user_guide/faq.rst diff --git a/docs/source/index.rst b/docs/source/index.rst index 2b40cdeca..c04da0d2a 100644 --- a/docs/source/index.rst +++ b/docs/source/index.rst @@ -3,10 +3,11 @@ Welcome to fastplotlib's documentation! .. toctree:: :caption: User Guide - :maxdepth: 2 + :maxdepth: 1 Guide GPU Info + FAQ .. toctree:: :maxdepth: 1 diff --git a/docs/source/user_guide/faq.rst b/docs/source/user_guide/faq.rst new file mode 100644 index 000000000..69216138f --- /dev/null +++ b/docs/source/user_guide/faq.rst @@ -0,0 +1,43 @@ +fastplotlib FAQ +=============== + +.. dropdown:: What is `fastplotlib`? + + `fastplotlib` is a scientific plotting library built on top of the `pygfx `_ rendering engine + that leverages new graphics APIs and modern GPU hardware to create fast and interactive visualizations. + + +.. dropdown:: What can I do with `fastplotlib`? + + `fastplotlib` allows for: + - interactive visualization via an intuitive and expressive API + - rapid prototyping and algorithm design + - easy exploration and rendering of large-scale data + +.. dropdown:: How does `fastplotlib` relate to `matplotlib`? + + `fastplotlib` is **NOT** related to `matplotlib` in any way. + + These are two completely different libraries with their own APIs and use-cases. The `fastplotlib` library is primarily for *interactive* + visualization that runs on the GPU using WGPU. + +.. dropdown:: How can I learn to use `fastplotlib`? + + We want `fastplotlib` to be easy to learn and use. To get started with the library we recommend taking a look at our `guide `_ and + `examples gallery `_. + + In general, if you are familiar with numpy and array notation you will already have a intuitive understanding of interacting + with your data in `fastplotlib`. If you have any questions, please do not hesitate to post an issue or discussion forum post. + +.. dropdown:: Should I use `fastplotlib` for making publication figures? + + **NO!** `fastplotlib` is not meant for creating *static* publication figures. There are many other libraries that are well-suited + for this task. + +.. dropdown:: How does `fastplotlib` handle data loading? + + `fastplotlib` is a plotting library and **NOT** a data handling or data loading library. These tasks are outside of the scope of + the library. + + In general, if your data is an array-like object, `fastplotlib` should be able to use it. + diff --git a/docs/source/user_guide/guide.rst b/docs/source/user_guide/guide.rst index 4ee374389..df0c54c78 100644 --- a/docs/source/user_guide/guide.rst +++ b/docs/source/user_guide/guide.rst @@ -20,7 +20,7 @@ or install the bleeding edge from Github: What is ``fastplotlib``? ------------------------ -``fastplotlib`` is a cutting-edge plotting library built using the ```pygfx`` `_ rendering engine. +``fastplotlib`` is a cutting-edge plotting library built using the `pygfx `_ rendering engine. The lower-level details of the rendering process (i.e. defining a scene, camera, renderer, etc.) are abstracted away, allowing users to focus on their data. The fundamental goal of ``fastplotlib`` is to provide a high-level, expressive API that promotes large-scale explorative scientific visualization. We want to make it easy and intuitive to produce interactive visualizations that are as performant and vibrant as a modern video game 😄 From 6b2f373f7559e20c2ecbd3929fe1b6c873f484d3 Mon Sep 17 00:00:00 2001 From: Caitlin Date: Tue, 30 Jul 2024 09:09:19 -0400 Subject: [PATCH 02/11] requested changes --- docs/source/user_guide/faq.rst | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/docs/source/user_guide/faq.rst b/docs/source/user_guide/faq.rst index 69216138f..f41b8db82 100644 --- a/docs/source/user_guide/faq.rst +++ b/docs/source/user_guide/faq.rst @@ -12,14 +12,15 @@ fastplotlib FAQ `fastplotlib` allows for: - interactive visualization via an intuitive and expressive API - rapid prototyping and algorithm design - - easy exploration and rendering of large-scale data + - easy exploration and fast rendering of large-scale data .. dropdown:: How does `fastplotlib` relate to `matplotlib`? `fastplotlib` is **NOT** related to `matplotlib` in any way. These are two completely different libraries with their own APIs and use-cases. The `fastplotlib` library is primarily for *interactive* - visualization that runs on the GPU using WGPU. + visualization that runs on the GPU using WGPU. The `fastplotlib` architecture is completely different from `matplotlib`. Using `fastplotlib` + is more akin to using `numpy`. See the "How can I learn to use `fastplotlib`?" section below. .. dropdown:: How can I learn to use `fastplotlib`? @@ -31,12 +32,12 @@ fastplotlib FAQ .. dropdown:: Should I use `fastplotlib` for making publication figures? - **NO!** `fastplotlib` is not meant for creating *static* publication figures. There are many other libraries that are well-suited + No, `fastplotlib` is not meant for creating *static* publication figures. There are many other libraries that are well-suited for this task. .. dropdown:: How does `fastplotlib` handle data loading? - `fastplotlib` is a plotting library and **NOT** a data handling or data loading library. These tasks are outside of the scope of + `fastplotlib` is a plotting library and not a data handling or data loading library. These tasks are outside of the scope of the library. In general, if your data is an array-like object, `fastplotlib` should be able to use it. From a7bd2eb7cb5ff576013e0c6126bb4db054085644 Mon Sep 17 00:00:00 2001 From: Caitlin Date: Thu, 1 Aug 2024 14:09:20 -0400 Subject: [PATCH 03/11] more faq --- docs/source/user_guide/faq.rst | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/docs/source/user_guide/faq.rst b/docs/source/user_guide/faq.rst index f41b8db82..0cc3e7387 100644 --- a/docs/source/user_guide/faq.rst +++ b/docs/source/user_guide/faq.rst @@ -42,3 +42,21 @@ fastplotlib FAQ In general, if your data is an array-like object, `fastplotlib` should be able to use it. +.. dropdown:: What is the scope of `fastplotlib'? + + While the capabilities are very far-reaching, we would like to emphasize that `fastplotlib` is a general-purpose plotting library focused on scientific visualization. + More specifically, we aim to develop the tools necessary for users to build fast and interactive visualizations for a variety of scientific domains (e.g. neuroscience, + astrophysics). If you have a particular feature in mind that you feel is missing, please post an issue and we will respond accordingly letting you know if it fits within + the scope of the project. + +.. dropdown:: What types of PRs are we willing to accept? + + Primarily the features of `fastplotlib` have been developed as they relate to the core-developers research use cases (mostly neuroscience). With that being said, there are many domains in which + we do not have the knowledge to best-implement the tools needed for proper visualization. We welcome all PRs that address these types of missing functionality. We + recommend taking a look at our `Roadmap `_ to get a better idea of what those items might be :D + + Closely related to this, we would love to add more examples to our repo for different types of scientific visualizations. We welcome all PRs that showcase using `fastplotlib` for + your given research domain. + + Lastly, documentation is a critical part of open-source software and makes learning/using our tool much easier. We welcome all PRs that add missing or needed documentation of the + codebase. If you find a piece of the codebase that is confusing or does not have proper documentation, please also feel free to post an issue on the repo! From 095e4f9d09496c5f3b6fea655ede6f6b8f1c1efe Mon Sep 17 00:00:00 2001 From: Caitlin Lewis <69729525+clewis7@users.noreply.github.com> Date: Thu, 8 Aug 2024 16:07:59 -0400 Subject: [PATCH 04/11] Update faq.rst --- docs/source/user_guide/faq.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/source/user_guide/faq.rst b/docs/source/user_guide/faq.rst index 0cc3e7387..c9d7fff9a 100644 --- a/docs/source/user_guide/faq.rst +++ b/docs/source/user_guide/faq.rst @@ -16,7 +16,7 @@ fastplotlib FAQ .. dropdown:: How does `fastplotlib` relate to `matplotlib`? - `fastplotlib` is **NOT** related to `matplotlib` in any way. + `fastplotlib` is **not** related to `matplotlib` in any way. These are two completely different libraries with their own APIs and use-cases. The `fastplotlib` library is primarily for *interactive* visualization that runs on the GPU using WGPU. The `fastplotlib` architecture is completely different from `matplotlib`. Using `fastplotlib` From c87b98c860959e7b1f0dcab6f316794d13776607 Mon Sep 17 00:00:00 2001 From: Caitlin Date: Tue, 20 Aug 2024 19:17:27 -0400 Subject: [PATCH 05/11] fix intersphinx link, fix typo --- docs/source/conf.py | 2 +- docs/source/user_guide/faq.rst | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/source/conf.py b/docs/source/conf.py index 0df47e579..5a78fc596 100644 --- a/docs/source/conf.py +++ b/docs/source/conf.py @@ -100,7 +100,7 @@ intersphinx_mapping = { "python": ("https://docs.python.org/3", None), "numpy": ("https://numpy.org/doc/stable/", None), - "pygfx": ("https://pygfx.com/stable", None), + "pygfx": ("https://docs.pygfx.org/stable/", None), "wgpu": ("https://wgpu-py.readthedocs.io/en/latest", None), } diff --git a/docs/source/user_guide/faq.rst b/docs/source/user_guide/faq.rst index c9d7fff9a..d1f1ca0b7 100644 --- a/docs/source/user_guide/faq.rst +++ b/docs/source/user_guide/faq.rst @@ -42,7 +42,7 @@ fastplotlib FAQ In general, if your data is an array-like object, `fastplotlib` should be able to use it. -.. dropdown:: What is the scope of `fastplotlib'? +.. dropdown:: What is the scope of `fastplotlib`? While the capabilities are very far-reaching, we would like to emphasize that `fastplotlib` is a general-purpose plotting library focused on scientific visualization. More specifically, we aim to develop the tools necessary for users to build fast and interactive visualizations for a variety of scientific domains (e.g. neuroscience, From 92931c510cd6347bfe4be1e5005622490474d2e9 Mon Sep 17 00:00:00 2001 From: Caitlin Date: Sun, 25 Aug 2024 09:36:15 -0400 Subject: [PATCH 06/11] add more faq questions --- docs/source/user_guide/faq.rst | 45 +++++++++++++++++++++++++++++++++- 1 file changed, 44 insertions(+), 1 deletion(-) diff --git a/docs/source/user_guide/faq.rst b/docs/source/user_guide/faq.rst index d1f1ca0b7..ad91bbc77 100644 --- a/docs/source/user_guide/faq.rst +++ b/docs/source/user_guide/faq.rst @@ -14,6 +14,13 @@ fastplotlib FAQ - rapid prototyping and algorithm design - easy exploration and fast rendering of large-scale data +.. dropdown:: Do I need a GPU? + + Technically no, you can perform limited software rendering on linux using lavapipe (see drivers link below). + However, `fastplotlib` is intentionally built for realtime rendering using the latest GPU technologies, so we + strongly recommend that you use a GPU. With that being said, an integrated GPU should be sufficient for many + use-cases. + .. dropdown:: How does `fastplotlib` relate to `matplotlib`? `fastplotlib` is **not** related to `matplotlib` in any way. @@ -40,7 +47,8 @@ fastplotlib FAQ `fastplotlib` is a plotting library and not a data handling or data loading library. These tasks are outside of the scope of the library. - In general, if your data is an array-like object, `fastplotlib` should be able to use it. + In general, if your data is an array-like object, `fastplotlib` should be able to use it. However, if you have any problems using your data objects, + please do not hesitate to post an issue! .. dropdown:: What is the scope of `fastplotlib`? @@ -60,3 +68,38 @@ fastplotlib FAQ Lastly, documentation is a critical part of open-source software and makes learning/using our tool much easier. We welcome all PRs that add missing or needed documentation of the codebase. If you find a piece of the codebase that is confusing or does not have proper documentation, please also feel free to post an issue on the repo! + +.. dropdown:: What frameworks does `fastplotlib` support? + + The short answer is that `fastplotlib` can run on anything that `pygfx` runs on. This includes, + - `jupyter lab` using `jupyter_rfb` + - `PyQt` and `PySide` + - `glfw` + - `wxPython` + + Note: Use in Google Colab does not currently work because Colab does not offer support for `jupyter_rfb` + +.. dropdown:: How can I use `fastplotlib` interactively? + + There are multiple ways to use fastplotlib interactively. + + 1. Jupyter + + On jupyter lab the jupyter backend (i.e. jupyter_rfb) is normally selected. This works via client-server rendering. + Images generated on the server are streamed to the client (Jupyter) via a jpeg byte stream. Events (such as mouse or keyboard events) + are then streamed in the opposite direction prompting new images to be generated by the server if necessary. + This remote-frame-buffer approach makes the rendering process very fast. `fastplotlib` viusalizations can be displayed + in cell output or on the side using sidecar. + + A Qt backend can also optionally be used as well. If %gui qt is selected before importing `fastplotlib` then this + backend will be used instead. + + Lastly, users can also force using glfw by specifying this as an argument when instantiating a + Figure (i.e. Figure(canvas="gflw"). + + **Note:** Do not mix between gui backends. For example, if you start the notebook using Qt, do not attempt to + force using another backend such as jupyter_rfb later. + + 2. IPython + + Users can select between using a Qt backend or glfw using the same methods as above. From a7521a5802d9a3040ce1b5fbc1e4a0a67422bb49 Mon Sep 17 00:00:00 2001 From: Caitlin Date: Sun, 25 Aug 2024 09:45:22 -0400 Subject: [PATCH 07/11] small edits and remove dropdowns --- docs/source/user_guide/faq.rst | 37 +++++++++++++++++++++++----------- 1 file changed, 25 insertions(+), 12 deletions(-) diff --git a/docs/source/user_guide/faq.rst b/docs/source/user_guide/faq.rst index ad91bbc77..f70622e14 100644 --- a/docs/source/user_guide/faq.rst +++ b/docs/source/user_guide/faq.rst @@ -1,27 +1,33 @@ fastplotlib FAQ =============== -.. dropdown:: What is `fastplotlib`? +What is `fastplotlib`? +---------------------- `fastplotlib` is a scientific plotting library built on top of the `pygfx `_ rendering engine that leverages new graphics APIs and modern GPU hardware to create fast and interactive visualizations. -.. dropdown:: What can I do with `fastplotlib`? +What can I do with `fastplotlib`? +--------------------------------- `fastplotlib` allows for: + - GPU accelerated visualization - interactive visualization via an intuitive and expressive API - rapid prototyping and algorithm design - easy exploration and fast rendering of large-scale data + - design, develop, evaluate and ship machine learning models -.. dropdown:: Do I need a GPU? +Do I need a GPU? +---------------- - Technically no, you can perform limited software rendering on linux using lavapipe (see drivers link below). + Technically no, you can perform limited software rendering on linux using lavapipe. However, `fastplotlib` is intentionally built for realtime rendering using the latest GPU technologies, so we strongly recommend that you use a GPU. With that being said, an integrated GPU should be sufficient for many use-cases. -.. dropdown:: How does `fastplotlib` relate to `matplotlib`? +How does `fastplotlib` relate to `matplotlib`? +---------------------------------------------- `fastplotlib` is **not** related to `matplotlib` in any way. @@ -29,7 +35,8 @@ fastplotlib FAQ visualization that runs on the GPU using WGPU. The `fastplotlib` architecture is completely different from `matplotlib`. Using `fastplotlib` is more akin to using `numpy`. See the "How can I learn to use `fastplotlib`?" section below. -.. dropdown:: How can I learn to use `fastplotlib`? +How can I learn to use `fastplotlib`? +------------------------------------- We want `fastplotlib` to be easy to learn and use. To get started with the library we recommend taking a look at our `guide `_ and `examples gallery `_. @@ -37,12 +44,14 @@ fastplotlib FAQ In general, if you are familiar with numpy and array notation you will already have a intuitive understanding of interacting with your data in `fastplotlib`. If you have any questions, please do not hesitate to post an issue or discussion forum post. -.. dropdown:: Should I use `fastplotlib` for making publication figures? +Should I use `fastplotlib` for making publication figures? +---------------------------------------------------------- No, `fastplotlib` is not meant for creating *static* publication figures. There are many other libraries that are well-suited for this task. -.. dropdown:: How does `fastplotlib` handle data loading? +How does `fastplotlib` handle data loading? +------------------------------------------- `fastplotlib` is a plotting library and not a data handling or data loading library. These tasks are outside of the scope of the library. @@ -50,14 +59,16 @@ fastplotlib FAQ In general, if your data is an array-like object, `fastplotlib` should be able to use it. However, if you have any problems using your data objects, please do not hesitate to post an issue! -.. dropdown:: What is the scope of `fastplotlib`? +What is the scope of `fastplotlib`? +----------------------------------- While the capabilities are very far-reaching, we would like to emphasize that `fastplotlib` is a general-purpose plotting library focused on scientific visualization. More specifically, we aim to develop the tools necessary for users to build fast and interactive visualizations for a variety of scientific domains (e.g. neuroscience, astrophysics). If you have a particular feature in mind that you feel is missing, please post an issue and we will respond accordingly letting you know if it fits within the scope of the project. -.. dropdown:: What types of PRs are we willing to accept? +What types of PRs are we willing to accept? +------------------------------------------- Primarily the features of `fastplotlib` have been developed as they relate to the core-developers research use cases (mostly neuroscience). With that being said, there are many domains in which we do not have the knowledge to best-implement the tools needed for proper visualization. We welcome all PRs that address these types of missing functionality. We @@ -69,7 +80,8 @@ fastplotlib FAQ Lastly, documentation is a critical part of open-source software and makes learning/using our tool much easier. We welcome all PRs that add missing or needed documentation of the codebase. If you find a piece of the codebase that is confusing or does not have proper documentation, please also feel free to post an issue on the repo! -.. dropdown:: What frameworks does `fastplotlib` support? +What frameworks does `fastplotlib` support? +------------------------------------------- The short answer is that `fastplotlib` can run on anything that `pygfx` runs on. This includes, - `jupyter lab` using `jupyter_rfb` @@ -79,7 +91,8 @@ fastplotlib FAQ Note: Use in Google Colab does not currently work because Colab does not offer support for `jupyter_rfb` -.. dropdown:: How can I use `fastplotlib` interactively? +How can I use `fastplotlib` interactively? +------------------------------------------ There are multiple ways to use fastplotlib interactively. From 4c6e7efec209ef2e1e3fdcd7467796e86200339c Mon Sep 17 00:00:00 2001 From: Caitlin Date: Sat, 31 Aug 2024 16:14:30 -0400 Subject: [PATCH 08/11] requested changes --- docs/source/user_guide/faq.rst | 31 ++++++++++++++++++------------- 1 file changed, 18 insertions(+), 13 deletions(-) diff --git a/docs/source/user_guide/faq.rst b/docs/source/user_guide/faq.rst index f70622e14..ae7023889 100644 --- a/docs/source/user_guide/faq.rst +++ b/docs/source/user_guide/faq.rst @@ -17,14 +17,14 @@ What can I do with `fastplotlib`? - rapid prototyping and algorithm design - easy exploration and fast rendering of large-scale data - design, develop, evaluate and ship machine learning models + - create visualizations for real-time acquisition systems for scientific instruments (cameras, etc.) Do I need a GPU? ---------------- - Technically no, you can perform limited software rendering on linux using lavapipe. - However, `fastplotlib` is intentionally built for realtime rendering using the latest GPU technologies, so we - strongly recommend that you use a GPU. With that being said, an integrated GPU should be sufficient for many - use-cases. + Integrated GPUs, such as those found in modern laptops is sufficient for many use cases. However, you can perform limited software rendering on linux + using lavapipe. With that being said, `fastplotlib` is intentionally built for realtime rendering using the latest GPU technologies, so we + strongly recommend that you use a GPU. How does `fastplotlib` relate to `matplotlib`? ---------------------------------------------- @@ -33,7 +33,11 @@ How does `fastplotlib` relate to `matplotlib`? These are two completely different libraries with their own APIs and use-cases. The `fastplotlib` library is primarily for *interactive* visualization that runs on the GPU using WGPU. The `fastplotlib` architecture is completely different from `matplotlib`. Using `fastplotlib` - is more akin to using `numpy`. See the "How can I learn to use `fastplotlib`?" section below. + is more akin to using `numpy`. + + To expand on this a bit more, the `pygfx` buffer interface is really unlike anything in`matplotlib` and other libraries which is a major reason + why `fastplotlib` can have an array-like API for plotting. We believe that these design choices make it much easier to learn how to use the library + and provide fine-grained control over your visualizations. See the "How can I learn to use `fastplotlib`?" section below. How can I learn to use `fastplotlib`? ------------------------------------- @@ -48,7 +52,7 @@ Should I use `fastplotlib` for making publication figures? ---------------------------------------------------------- No, `fastplotlib` is not meant for creating *static* publication figures. There are many other libraries that are well-suited - for this task. + for this task. However, `fastplotlib` figures can be exported to PNG using ``figure.export()``. How does `fastplotlib` handle data loading? ------------------------------------------- @@ -57,25 +61,25 @@ How does `fastplotlib` handle data loading? the library. In general, if your data is an array-like object, `fastplotlib` should be able to use it. However, if you have any problems using your data objects, - please do not hesitate to post an issue! + please do not hesitate to post an issue! See this `issue `_ for more details. What is the scope of `fastplotlib`? ----------------------------------- While the capabilities are very far-reaching, we would like to emphasize that `fastplotlib` is a general-purpose plotting library focused on scientific visualization. - More specifically, we aim to develop the tools necessary for users to build fast and interactive visualizations for a variety of scientific domains (e.g. neuroscience, - astrophysics). If you have a particular feature in mind that you feel is missing, please post an issue and we will respond accordingly letting you know if it fits within - the scope of the project. + More specifically, we aim to develop the tools necessary for users to build fast and interactive visualizations for a variety of scientific domains including but not limited to + neuroscience, astronomy, biology, computer vision, signal processing, and more. If you have a particular feature in mind that you feel is missing, please post an issue and we will respond + accordingly letting you know if it fits within the scope of the project. What types of PRs are we willing to accept? ------------------------------------------- - Primarily the features of `fastplotlib` have been developed as they relate to the core-developers research use cases (mostly neuroscience). With that being said, there are many domains in which + Primarily the features of `fastplotlib` have been developed as they relate to the core-developers research use cases (mostly neuroscience, algorithm development, and machine learning). With that being said, there are many domains in which we do not have the knowledge to best-implement the tools needed for proper visualization. We welcome all PRs that address these types of missing functionality. We recommend taking a look at our `Roadmap `_ to get a better idea of what those items might be :D Closely related to this, we would love to add more examples to our repo for different types of scientific visualizations. We welcome all PRs that showcase using `fastplotlib` for - your given research domain. + your given research domain! :D Lastly, documentation is a critical part of open-source software and makes learning/using our tool much easier. We welcome all PRs that add missing or needed documentation of the codebase. If you find a piece of the codebase that is confusing or does not have proper documentation, please also feel free to post an issue on the repo! @@ -89,7 +93,8 @@ What frameworks does `fastplotlib` support? - `glfw` - `wxPython` - Note: Use in Google Colab does not currently work because Colab does not offer support for `jupyter_rfb` + Note: Use in Google Colab is not highly functional. We recommend using an inexpensive alternative cloud provider + such as CodeOcean or Lambda Cloud. Kushal has tested these and `fastplotlib` works very well. How can I use `fastplotlib` interactively? ------------------------------------------ From 0e8e43efb9f1207cdecb715b871a4b1d1ca214eb Mon Sep 17 00:00:00 2001 From: Caitlin Lewis Date: Tue, 3 Sep 2024 08:39:20 -0400 Subject: [PATCH 09/11] requested changes --- docs/source/user_guide/faq.rst | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/docs/source/user_guide/faq.rst b/docs/source/user_guide/faq.rst index ae7023889..34800c4b6 100644 --- a/docs/source/user_guide/faq.rst +++ b/docs/source/user_guide/faq.rst @@ -22,9 +22,11 @@ What can I do with `fastplotlib`? Do I need a GPU? ---------------- - Integrated GPUs, such as those found in modern laptops is sufficient for many use cases. However, you can perform limited software rendering on linux - using lavapipe. With that being said, `fastplotlib` is intentionally built for realtime rendering using the latest GPU technologies, so we - strongly recommend that you use a GPU. + Integrated GPUs, such as those found in modern laptops is sufficient for many use cases. + + For the best performance you will require a dedicated GPU. You can think of it like running a game, a more complex visualization or faster rendering will require a better GPU. + + Limited software rendering using just the CPU is supported on linux using lavapipe, but this is mostly only useful for testing purposes. How does `fastplotlib` relate to `matplotlib`? ---------------------------------------------- @@ -51,8 +53,8 @@ How can I learn to use `fastplotlib`? Should I use `fastplotlib` for making publication figures? ---------------------------------------------------------- - No, `fastplotlib` is not meant for creating *static* publication figures. There are many other libraries that are well-suited - for this task. However, `fastplotlib` figures can be exported to PNG using ``figure.export()``. + While `fastplotlib` figures can be exported to PNG using ``figure.export()``, `fastplotlib` is not intended for creating *static* + publication figures. There are many other libraries that are well-suited for this task. How does `fastplotlib` handle data loading? ------------------------------------------- @@ -94,7 +96,7 @@ What frameworks does `fastplotlib` support? - `wxPython` Note: Use in Google Colab is not highly functional. We recommend using an inexpensive alternative cloud provider - such as CodeOcean or Lambda Cloud. Kushal has tested these and `fastplotlib` works very well. + such as CodeOcean or Lambda Cloud. We have tested these and `fastplotlib` works very well. How can I use `fastplotlib` interactively? ------------------------------------------ From 288dd1637d9b107237188866dec644844bfb655a Mon Sep 17 00:00:00 2001 From: Caitlin Date: Tue, 3 Sep 2024 12:43:10 -0400 Subject: [PATCH 10/11] revert commit --- docs/source/user_guide/faq.rst | 35 ++++++++++++++-------------------- 1 file changed, 14 insertions(+), 21 deletions(-) diff --git a/docs/source/user_guide/faq.rst b/docs/source/user_guide/faq.rst index 34800c4b6..f70622e14 100644 --- a/docs/source/user_guide/faq.rst +++ b/docs/source/user_guide/faq.rst @@ -17,16 +17,14 @@ What can I do with `fastplotlib`? - rapid prototyping and algorithm design - easy exploration and fast rendering of large-scale data - design, develop, evaluate and ship machine learning models - - create visualizations for real-time acquisition systems for scientific instruments (cameras, etc.) Do I need a GPU? ---------------- - Integrated GPUs, such as those found in modern laptops is sufficient for many use cases. - - For the best performance you will require a dedicated GPU. You can think of it like running a game, a more complex visualization or faster rendering will require a better GPU. - - Limited software rendering using just the CPU is supported on linux using lavapipe, but this is mostly only useful for testing purposes. + Technically no, you can perform limited software rendering on linux using lavapipe. + However, `fastplotlib` is intentionally built for realtime rendering using the latest GPU technologies, so we + strongly recommend that you use a GPU. With that being said, an integrated GPU should be sufficient for many + use-cases. How does `fastplotlib` relate to `matplotlib`? ---------------------------------------------- @@ -35,11 +33,7 @@ How does `fastplotlib` relate to `matplotlib`? These are two completely different libraries with their own APIs and use-cases. The `fastplotlib` library is primarily for *interactive* visualization that runs on the GPU using WGPU. The `fastplotlib` architecture is completely different from `matplotlib`. Using `fastplotlib` - is more akin to using `numpy`. - - To expand on this a bit more, the `pygfx` buffer interface is really unlike anything in`matplotlib` and other libraries which is a major reason - why `fastplotlib` can have an array-like API for plotting. We believe that these design choices make it much easier to learn how to use the library - and provide fine-grained control over your visualizations. See the "How can I learn to use `fastplotlib`?" section below. + is more akin to using `numpy`. See the "How can I learn to use `fastplotlib`?" section below. How can I learn to use `fastplotlib`? ------------------------------------- @@ -53,8 +47,8 @@ How can I learn to use `fastplotlib`? Should I use `fastplotlib` for making publication figures? ---------------------------------------------------------- - While `fastplotlib` figures can be exported to PNG using ``figure.export()``, `fastplotlib` is not intended for creating *static* - publication figures. There are many other libraries that are well-suited for this task. + No, `fastplotlib` is not meant for creating *static* publication figures. There are many other libraries that are well-suited + for this task. How does `fastplotlib` handle data loading? ------------------------------------------- @@ -63,25 +57,25 @@ How does `fastplotlib` handle data loading? the library. In general, if your data is an array-like object, `fastplotlib` should be able to use it. However, if you have any problems using your data objects, - please do not hesitate to post an issue! See this `issue `_ for more details. + please do not hesitate to post an issue! What is the scope of `fastplotlib`? ----------------------------------- While the capabilities are very far-reaching, we would like to emphasize that `fastplotlib` is a general-purpose plotting library focused on scientific visualization. - More specifically, we aim to develop the tools necessary for users to build fast and interactive visualizations for a variety of scientific domains including but not limited to - neuroscience, astronomy, biology, computer vision, signal processing, and more. If you have a particular feature in mind that you feel is missing, please post an issue and we will respond - accordingly letting you know if it fits within the scope of the project. + More specifically, we aim to develop the tools necessary for users to build fast and interactive visualizations for a variety of scientific domains (e.g. neuroscience, + astrophysics). If you have a particular feature in mind that you feel is missing, please post an issue and we will respond accordingly letting you know if it fits within + the scope of the project. What types of PRs are we willing to accept? ------------------------------------------- - Primarily the features of `fastplotlib` have been developed as they relate to the core-developers research use cases (mostly neuroscience, algorithm development, and machine learning). With that being said, there are many domains in which + Primarily the features of `fastplotlib` have been developed as they relate to the core-developers research use cases (mostly neuroscience). With that being said, there are many domains in which we do not have the knowledge to best-implement the tools needed for proper visualization. We welcome all PRs that address these types of missing functionality. We recommend taking a look at our `Roadmap `_ to get a better idea of what those items might be :D Closely related to this, we would love to add more examples to our repo for different types of scientific visualizations. We welcome all PRs that showcase using `fastplotlib` for - your given research domain! :D + your given research domain. Lastly, documentation is a critical part of open-source software and makes learning/using our tool much easier. We welcome all PRs that add missing or needed documentation of the codebase. If you find a piece of the codebase that is confusing or does not have proper documentation, please also feel free to post an issue on the repo! @@ -95,8 +89,7 @@ What frameworks does `fastplotlib` support? - `glfw` - `wxPython` - Note: Use in Google Colab is not highly functional. We recommend using an inexpensive alternative cloud provider - such as CodeOcean or Lambda Cloud. We have tested these and `fastplotlib` works very well. + Note: Use in Google Colab does not currently work because Colab does not offer support for `jupyter_rfb` How can I use `fastplotlib` interactively? ------------------------------------------ From 4b43d22a0fc4adff7de2c94d7f320f0bbbe17433 Mon Sep 17 00:00:00 2001 From: Caitlin Date: Tue, 3 Sep 2024 12:45:02 -0400 Subject: [PATCH 11/11] should be gtg --- docs/source/user_guide/faq.rst | 37 ++++++++++++++++++++-------------- 1 file changed, 22 insertions(+), 15 deletions(-) diff --git a/docs/source/user_guide/faq.rst b/docs/source/user_guide/faq.rst index f70622e14..aa4f3dc87 100644 --- a/docs/source/user_guide/faq.rst +++ b/docs/source/user_guide/faq.rst @@ -17,14 +17,16 @@ What can I do with `fastplotlib`? - rapid prototyping and algorithm design - easy exploration and fast rendering of large-scale data - design, develop, evaluate and ship machine learning models + - create visualizations for real-time acquisition systems for scientific instruments (cameras, etc.) Do I need a GPU? ---------------- - Technically no, you can perform limited software rendering on linux using lavapipe. - However, `fastplotlib` is intentionally built for realtime rendering using the latest GPU technologies, so we - strongly recommend that you use a GPU. With that being said, an integrated GPU should be sufficient for many - use-cases. + Integrated GPUs, such as those found in modern laptops, are sufficient for many use cases. + + For the best performance you will require a dedicated GPU. You can think of it like running a game, a more complex visualization or faster rendering will require a better GPU. + + Limited software rendering using just the CPU is supported on linux using lavapipe, but this is mostly only useful for testing purposes. How does `fastplotlib` relate to `matplotlib`? ---------------------------------------------- @@ -33,7 +35,11 @@ How does `fastplotlib` relate to `matplotlib`? These are two completely different libraries with their own APIs and use-cases. The `fastplotlib` library is primarily for *interactive* visualization that runs on the GPU using WGPU. The `fastplotlib` architecture is completely different from `matplotlib`. Using `fastplotlib` - is more akin to using `numpy`. See the "How can I learn to use `fastplotlib`?" section below. + is more akin to using `numpy`. + + To expand on this a bit more, the `pygfx` buffer interface is really unlike anything in`matplotlib` and other libraries which is a major reason + why `fastplotlib` can have an array-like API for plotting. We believe that these design choices make it much easier to learn how to use the library + and provide fine-grained control over your visualizations. See the "How can I learn to use `fastplotlib`?" section below. How can I learn to use `fastplotlib`? ------------------------------------- @@ -47,8 +53,8 @@ How can I learn to use `fastplotlib`? Should I use `fastplotlib` for making publication figures? ---------------------------------------------------------- - No, `fastplotlib` is not meant for creating *static* publication figures. There are many other libraries that are well-suited - for this task. + While `fastplotlib` figures can be exported to PNG using ``figure.export()``, `fastplotlib` is not intended for creating *static* + publication figures. There are many other libraries that are well-suited for this task. How does `fastplotlib` handle data loading? ------------------------------------------- @@ -57,25 +63,25 @@ How does `fastplotlib` handle data loading? the library. In general, if your data is an array-like object, `fastplotlib` should be able to use it. However, if you have any problems using your data objects, - please do not hesitate to post an issue! + please do not hesitate to post an issue! See this `issue `_ for more details. What is the scope of `fastplotlib`? ----------------------------------- While the capabilities are very far-reaching, we would like to emphasize that `fastplotlib` is a general-purpose plotting library focused on scientific visualization. - More specifically, we aim to develop the tools necessary for users to build fast and interactive visualizations for a variety of scientific domains (e.g. neuroscience, - astrophysics). If you have a particular feature in mind that you feel is missing, please post an issue and we will respond accordingly letting you know if it fits within - the scope of the project. + More specifically, we aim to develop the tools necessary for users to build fast and interactive visualizations for a variety of scientific domains including but not limited to + neuroscience, astronomy, biology, computer vision, signal processing, and more. If you have a particular feature in mind that you feel is missing, please post an issue and we will respond + accordingly letting you know if it fits within the scope of the project. What types of PRs are we willing to accept? ------------------------------------------- - Primarily the features of `fastplotlib` have been developed as they relate to the core-developers research use cases (mostly neuroscience). With that being said, there are many domains in which + Primarily the features of `fastplotlib` have been developed as they relate to the core-developers research use cases (mostly neuroscience, algorithm development, and machine learning). With that being said, there are many domains in which we do not have the knowledge to best-implement the tools needed for proper visualization. We welcome all PRs that address these types of missing functionality. We recommend taking a look at our `Roadmap `_ to get a better idea of what those items might be :D Closely related to this, we would love to add more examples to our repo for different types of scientific visualizations. We welcome all PRs that showcase using `fastplotlib` for - your given research domain. + your given research domain! :D Lastly, documentation is a critical part of open-source software and makes learning/using our tool much easier. We welcome all PRs that add missing or needed documentation of the codebase. If you find a piece of the codebase that is confusing or does not have proper documentation, please also feel free to post an issue on the repo! @@ -89,7 +95,8 @@ What frameworks does `fastplotlib` support? - `glfw` - `wxPython` - Note: Use in Google Colab does not currently work because Colab does not offer support for `jupyter_rfb` + Note: Use in Google Colab is not highly functional. We recommend using an inexpensive alternative cloud provider + such as CodeOcean or Lambda Cloud. We have tested these and `fastplotlib` works very well. How can I use `fastplotlib` interactively? ------------------------------------------ @@ -115,4 +122,4 @@ How can I use `fastplotlib` interactively? 2. IPython - Users can select between using a Qt backend or glfw using the same methods as above. + Users can select between using a Qt backend or glfw using the same methods as above. \ No newline at end of file pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy