diff --git a/src/assets/background.svg b/src/assets/background.svg deleted file mode 100644 index 4b2be0a..0000000 --- a/src/assets/background.svg +++ /dev/null @@ -1 +0,0 @@ - diff --git a/src/assets/future/durations.avif b/src/assets/future/durations.avif new file mode 100644 index 0000000..7e279b3 Binary files /dev/null and b/src/assets/future/durations.avif differ diff --git a/src/assets/future/parallax.avif b/src/assets/future/parallax.avif new file mode 100644 index 0000000..b3dbefb Binary files /dev/null and b/src/assets/future/parallax.avif differ diff --git a/src/assets/manipulators/mis-rig.avif b/src/assets/manipulators/mis-rig.avif new file mode 100644 index 0000000..5bf0c93 Binary files /dev/null and b/src/assets/manipulators/mis-rig.avif differ diff --git a/src/assets/manipulators/scientifica-manipulator.avif b/src/assets/manipulators/scientifica-manipulator.avif new file mode 100644 index 0000000..d305e14 Binary files /dev/null and b/src/assets/manipulators/scientifica-manipulator.avif differ diff --git a/src/assets/outreach/teaching-pinpoint.avif b/src/assets/outreach/teaching-pinpoint.avif new file mode 100644 index 0000000..724e908 Binary files /dev/null and b/src/assets/outreach/teaching-pinpoint.avif differ diff --git a/src/assets/outreach/using-pinpoint.avif b/src/assets/outreach/using-pinpoint.avif new file mode 100644 index 0000000..6151d10 Binary files /dev/null and b/src/assets/outreach/using-pinpoint.avif differ diff --git a/src/assets/people/dan.avif b/src/assets/people/dan.avif new file mode 100644 index 0000000..16cb7a2 Binary files /dev/null and b/src/assets/people/dan.avif differ diff --git a/src/assets/people/jasmine.avif b/src/assets/people/jasmine.avif new file mode 100644 index 0000000..49114a0 Binary files /dev/null and b/src/assets/people/jasmine.avif differ diff --git a/src/assets/people/kai.avif b/src/assets/people/kai.avif new file mode 100644 index 0000000..bc8cece Binary files /dev/null and b/src/assets/people/kai.avif differ diff --git a/src/assets/people/kenneth.avif b/src/assets/people/kenneth.avif new file mode 100644 index 0000000..e25e375 Binary files /dev/null and b/src/assets/people/kenneth.avif differ diff --git a/src/assets/people/qiqi.avif b/src/assets/people/qiqi.avif new file mode 100644 index 0000000..f9bc8f2 Binary files /dev/null and b/src/assets/people/qiqi.avif differ diff --git a/src/assets/people/selina.avif b/src/assets/people/selina.avif new file mode 100644 index 0000000..853ac9c Binary files /dev/null and b/src/assets/people/selina.avif differ diff --git a/src/components/Graphics.astro b/src/components/Graphics.astro index 475ccfd..8783ba6 100644 --- a/src/components/Graphics.astro +++ b/src/components/Graphics.astro @@ -26,6 +26,9 @@ const { imageMetadatas } = Astro.props; throw new Error("Failed to get output image element"); })(); + // Keep track of the last rendered image. + let lastRenderedIndex = -1; + // Bind scroll event to draw images. window.addEventListener("scroll", () => { // Get the container bounds at this point. @@ -46,8 +49,16 @@ const { imageMetadatas } = Astro.props; ); // Draw it if we are in bound. - if (imageIndex >= 0 && imageIndex < numberOfImages) + if (imageIndex >= 0 && imageIndex < numberOfImages) { requestAnimationFrame(() => outputImage.src = imageSrcs[imageIndex]); + lastRenderedIndex = imageIndex; + } + // If we are out of bounds, and we haven't fixed it yet, fix it. + else if (imageIndex !== lastRenderedIndex) { + const clampedIndex = Math.max(0, Math.min(numberOfImages - 1, imageIndex)); + requestAnimationFrame(() => outputImage.src = imageSrcs[clampedIndex]); + lastRenderedIndex = clampedIndex; + } }); } } diff --git a/src/pages/index.astro b/src/pages/index.astro index 7f8ec0c..efc2e05 100644 --- a/src/pages/index.astro +++ b/src/pages/index.astro @@ -8,9 +8,20 @@ import Graphics from "../components/Graphics.astro"; import GraphicsImporter from "../scripts/graphics-importer"; import type { DefaultImageMetadata } from "../scripts/types"; +import Durations from "../assets/future/durations.avif"; +import Parallax from "../assets/future/parallax.avif"; // Import static images. +import MISRig from "../assets/manipulators/mis-rig.avif"; import MPMRig from "../assets/manipulators/mpm-rig.avif"; +import ScientificaManipulator from "../assets/manipulators/scientifica-manipulator.avif"; import SensapexRig from "../assets/manipulators/sensapex-rig.avif"; +import TeachingPinpoint from "../assets/outreach/teaching-pinpoint.avif"; +import UsingPinpoint from "../assets/outreach/using-pinpoint.avif"; +import Jasmine from "../assets/people/jasmine.avif"; +import Kai from "../assets/people/kai.avif"; +import Kenneth from "../assets/people/kenneth.avif"; +import Qiqi from "../assets/people/qiqi.avif"; +import Selina from "../assets/people/selina.avif"; // Import graphics. const introImporter = new GraphicsImporter( @@ -37,43 +48,49 @@ const automationImporter = new GraphicsImporter(

Pinpoint

-

Interactive 3D visualization and automation tools for human neuroscience research and - neurosurgery.

+

Interactive 3D visualization and automation tools for neuroscience research and + surgery.


Launch - Learn More + Learn More
-
- -
-

Pinpoint aims to advance large-scale neuroscience research with intuitive browser-based - planning and - automation tools for efficient and reproducible neurosurgery. -

-
+
+
+ +
+

Pinpoint aims to advance large-scale neuroscience research with intuitive browser-based + planning and + automation tools for efficient and reproducible neurosurgery. +

+
+
-
-
-

Human behavior engage multiple regions of the brain.

-

Current tools are designed to study individual brain regions, depend on manual input, and - require extensive expertise to operate.

-

Modern neuroscientists need tools that enable the study of the whole brain to better - understand - human behavior and cure neurodegenerative diseases that affect the whole brain like - Parkinson's - and Alzheimer's.

-
+
+
+
+
+

Human behavior engage multiple regions of the brain.

+

Current tools are designed to study individual brain regions, depend on manual input, and + require extensive expertise to operate.

+

Modern neuroscientists need tools that enable the study of the whole brain to better + understand + human behavior and cure neurodegenerative diseases that affect the whole brain like + Parkinson's + and Alzheimer's.

+
+
+
@@ -130,23 +147,204 @@ const automationImporter = new GraphicsImporter(
+
+ +
+
+
+ Sensapex Rig +
+

Sensapex Multiprobe rig

+
+ +
+ + MPM Rig +
+

New Scale MPM rig

+
+ +
+ + MIS Rig +
+

New Scale MIS rig

+
+ +
+ + Scientifica InVivoStar Micromanipulator +
+

Scientifica InVivoStar Micromanipulator

+
+
+ +
+
+
+

Let the robots do the heavy lifting

+

Pinpoint can control neurosurgery robotic manipulators to automatically run your plans.

+
    +
  • Sensapex uMp-4
  • +
  • Sensapex uMp-3
  • +
  • New Scale MPM Rig
  • +
  • New Scale MIS Rig
  • +
  • Scientifica InVivoStar Micromanipulator/li> +
  • LabMaker
  • +
  • More can be added through Ephys + Link
  • +
+
+
+
+
+
+
-
+
-

Let the robots do the heavy lifting

-

Pinpoint can control neurosurgery robotic manipulators to automatically run your plans.

-

Below: Sensapex Multiprobe in vivo rig and New Scale MPM rig.

- Sensapex Rig - MPM Rig +

Automation improves accuracy and efficiency

+

Robotic manipulators can make highly precise movements and perform multiple tasks in parallel. + These are important for enabling large-scale studies.

+ +
+
+
+ Parallax tracking view +
+

Parallax computer vision tracking system. Two electrophysiology probes are tracked and marked + with red crosses.

+
+ +
+ + Automation durations +
+

Automation is measurably faster than traditional methods. The red dot is the median duration of + automated 2-probe electrophysiology insertion which is significantly lower than the median + duration for manual insertions.

+
+
+ +
+
+
+

The future of neuroscience is automation

+

We are working with the Allen Institute to develop computer vision assisted systems to + enable completely unattended surgery automation.

+

The reduction in human error and increase in efficiency will enable neuroscientists to scale + up + their work to new heights, unlocking studies and surgeries previously deemed impossible.

+
+
+
+
+
+ + + +
+
+
+
+

Grow the Community with
Pinpoint +

+
+
+
+
+ +
+
+
+ Teaching Pinpoint +
+

Dr. Birman teaching Pinpoint to researchers at the Allen Institute 2024 Neuropixels and OpenScope + Workshop

+
+ +
+ + Using Pinpoint +
+

A workshop attendee using Pinpoint in their laptop browser

+
+
+ +
+
+ +
+
+
+
+ +
+ +
+
+
+
+
+
+ Kenneth +
+
+
+
+ Jasmine +
+
+
+
+ Qiqi +
+
+
+
+ Selina +
+
+
+
+ Kai +
+
+
+
+ +
+
+
+

Fostering the next generation

+

Pinpoint was developed with the help of a diverse group of undergraduate researchers

+
+
+
+
+