visgl / visgl/deck.gl

[Feat]Support intensity channel for PointCloudLayer

Open
#8,264 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

feature
Dominant language
TypeScript
Stars
14.6k
Forks
2.3k
Avg merge
2d 9h
Merged PRs (30d)
42

Description

Target Use Case

When loading pointcloud from LAS file, it is common that 'intensity channel' is used. But deck.gl does not support this feature, so it is not easy to with LAS files with deck.gl. Please implement the feature in the shader.

Proposal

This is my conjecture of what it would look like as an example.

layers: [
        new PointCloudLayer({
          id: 'pointCloud',
          data: points,
          getPosition: d => d.position,
          getIntensity: d => d.intensity, //new
          intensityRange: [10,200], //new
          intensityDisplayType: "intensity gradient", //new
          radiusPixels: 1
        })
      ]

This code is my fixed version of this example in deck.gl PointCloudLayer Example

  • getIntensity -> gets intensity from data
  • intensityRange -> set intensity range, for intensity coloring.
  • intensityDisplayType -> "intensity" | "intensity gradient" | "color" (which would defaults to "color"). these are most common color display type for LAS files,

You may refer Potree to see more regrarding for intensityDisplayType

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with the PointCloudLayer implementation and its shader, then compare the requested behavior with the deck.gl PointCloudLayer Example and the proposed getIntensity, intensityRange, and intensityDisplayType options. Done means the layer supports the proposed intensity display modes and range while retaining the default color behavior; the issue does not name tests to run.

Written by the indexing model from the issue text.

Assessment

Tech stack
typescript
Domain
computer-graphics, data-visualization
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.