hokiespurs / potree-sfm

Project adding SfM images to a potree pointcloud
http://research.engr.oregonstate.edu/lidar/pointcloud/divicarina/
44 stars 11 forks source link

todo #1

Closed hokiespurs closed 6 years ago

hokiespurs commented 6 years ago
hokiespurs commented 6 years ago

SERVER FOLDER STRUCTURE

|-- http://research.engr.oregonstate.edu/lidar/pointcloud/*DATANAME*
    |-- index.html
    |-- assets
    |   |-- cameras.js
    |   |-- cloud.js
    |   |-- sources.json
    |   |-- 01_IMAGES
    |   |   |-- all undistorted images
    |   |-- 02_THUMBNAILS
    |   |   |-- all thumbnail images
    |   |-- 03_POSES
    |   |   |-- opk.txt
    |   |-- 04_POINTCLOUD
    |   |   |-- data.las
    |   |-- 05_POTREEDATA
    |       |-- potree organized data structure
    |-- css
    |   |-- main.css
    |-- doc
    |   |-- img
    |-- js
    |   |-- potreepointcloud.js
    |   |-- sfmcameras.js
    |-- libs
        |-- all javascript and css libraries

DEVELOPMENT FOLDER STRUCTURE

|-- githubname
    |-- index.html
    |-- assets
    |   |-- cameras.js
    |   |-- cloud.js
    |   |-- sources.json
    |-- css
    |   |-- main.css
    |-- doc
    |   |-- img
    |-- js
    |   |-- potreepointcloud.js
    |   |-- sfmcameras.js
    |-- libs
        |-- all javascript and css library dependencies
hokiespurs commented 6 years ago

Add Measurement Buttons

let measuringTool = new Potree.MeasuringTool(viewer);
let measurement = measuringTool.startInsertion({
                    showDistances: false,
                    showAngles: true,
                    showArea: false,
                    closed: true,
                    maxMarkers: 3,
                    name: 'Angle'});
hokiespurs commented 6 years ago

Processing Steps

1) If images have duplicate names, rename them using the following script in the console

chunk = PhotoScan.app.document.chunk
i=0
for camera in chunk.cameras:
   camera.label='Undist_' + str(i).zfill(4) + '.JPG'
   i=i+1

2) File -> Export -> Undistort Photos

hokiespurs commented 6 years ago

APPEARANCE

INFO

hokiespurs commented 6 years ago
scene.pointclouds.forEach( pc => pc.material.pointColorType = Potree.PointColorType.RGB );
scene.pointclouds.forEach( pc => pc.material.pointColorType = Potree.PointColorType.ELEVATION );
scene.pointclouds.forEach( pc => pc.material.pointColorType = Potree.PointColorType.RGB_HEIGHT );

viewer.scene.pointclouds[0].material.elevationRange = [minZ, maxZ];
viewer.scene.pointclouds[0].material.weightElevation = weightZ;
viewer.scene.pointclouds[0].material.weightRGB = weightRGB;
hokiespurs commented 6 years ago
hokiespurs commented 6 years ago
hokiespurs commented 6 years ago
LAYOUT
- map, toolbar, 3d scene

IMAGE PYRAMIDS
- image pyramids represent where an image was taken

SIMPLIFY THE LAYOUT
- toggle images
- toggle map

NAVIGATION
- Scroll Zoom
- Left Mouse to Orbit
- Right Mouse to Translate
- Double click to zoom to a point

NAVIGATION TO LOOK-THROUGH
- Two ways to enter pyramid mode
 1) Click pyramid
 2) Click Arrow Key to get the previous or next image

NAVIGATION IN LOOK-THROUGH MODE
- Left mouse looks around
- Scroll wheel zooms
- Right mouse translates and exits the view

MAP LAYOUT
- blue is current camera youre looking through
- orange is the rendering camera
- dot is for rendering camera position

MEASURE BUTTONS

APPEARANCE TOOLS

DOWNLOAD BUTTON
hokiespurs commented 6 years ago

consolidated into wiki and readme.md