Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
dev:viewer:actions:add_view [2023/02/10 15:29]
pieter [Find Best Photo]
dev:viewer:actions:add_view [2023/02/14 14:21]
jeroen removed
Line 1: Line 1:
-====== Add View ======+====== Add, Move, Change View ======
  
-Click on the '+' icon and view mode on the left sidebar to open a new view. Next, click on the [[dev:viewer:viewmodes:reference|Reference View]] or an existing View on the location where a new View should be opened. \\ +===== View Modes =====
-The available reality data will define the available Open View options.\\ +
-The different View modes are described [[dev:viewer:viewmodes:3d|here]].+
  
-===== Find Best Photo ======+The available View Modes depend on the loaded Resources:
  
-==== Input Parameters ====+  * 3D View 
 +  * Streetlevel Spherical View 
 +  * Streetlevel Planar View 
 +  * Aerial Planar View 
 +  * Aerial Oblique Planar View
  
-FIXME Add find photo algorithm information+===== Add View ====== 
 + 
 +Click on the '+' icon and view mode on the left sidebar to open a new view. Next, click on the [[dev:viewer:viewmodes:reference|Reference View]] or an existing View on the location where a new View should be opened. \\ 
 +The available reality data will define the available Open View options.\\ 
 +The different View modes are described [[dev:viewer:viewmodes:3d|here]].
  
-Inputs:  +===== Move View =====
-  * resources +
-  * focusPosition : The position we want to observe. +
-  * viewPosition : The position we are observing the photo position from. +
-  * minPhotos : The minimum amount of photos to find after applying the requireFocusVisible filter. Ignored if not positive. +
-  * minDistance2D : The minimum 2D distance of photo's to the search position (metric). Used when searching for streetlevel photo's.  Ignored if not positive.  +
-  * relevantPhotosMax : The maximum number of relevant photos to return. +
-  * searchDistances2D : The array of search distances to use when finding a closest photo. +
-  * findCloserPhotoAlgorithm : The algorithm to sort results and find a closest photo. +
-    * PIXEL_DISTANCE : Identifies the technique to find a closest photo by projecting the search coordinate on the photo and then sorting by distance to the photo center. +
-    * SPATIAL_DISTANCE : Identifies the technique to find a closest photo by taking the 3d distance to the view position (fall back on focus position). +
-  * requireFocusVisible : For planars, only return photo's that have the search position inside the photo? (false to disable) +
-  * isStreetlevel :  We are searching on streetlevel?  +
-    * If true the 'is focus visible?' check (enabled by requireFocusVisible) will check whether the focus position is in view +
-    * for each photo by looking at the angular distance between the photo heading (pan) and the heading defined by the vector from photo position to focus position. +
-    * This yields a better result for streetlevel planars (sphericals don't have a 'focus visible' check). +
-  * searchCenter : Identifies searching around the view position. +
-    * FOCUS : Identifies searching around the focus position and selecting the photo closest to the focus position. +
-    * FOCUS_AND_VIEW :  Identifies searching around the focus position and selecting the photo closest to the view position if provided (focus position as fallback).  +
-    * VIEW : Identifies searching around the view position and selecting the photo closest to the view position.+
  
-There are other input parameters, but they do not apply to how the algorithm functions.+Move an existing View to a new location
  
-Some constants : +Hover over the ID of the View on top, click 'move' and choose another location in one of the Views or Reference View. For image Views, it's possible to choose a specific image by clicking on the footprint of the photo position itself.
  
-  * AerialDistances = ''25,50,100,200,400,800,1600,3200,6400,12800'' +To move all views at oncehold Shift in move mode and choose a new location. While holding Shift, 'movein the View Action Fly-out will change to 'move allto indicate this.
-  * StreetlevelDistances = ''3,9,27,81,243,729''+
  
-Default parameter values : +===== Switch View Mode =====
  
-^ ^ Streetlevel Spherical ^ Streetlevel Planar ^ UAV Planar ^ Oblique Planar ^  +Change the View Mode of a View.
-| focusPosition       | <required> | <required> | <required> | <required>+
-| viewPosition        | <optional> | <optional> | <optional> | <optional>+
-| minPhotos           | 0 | 0 | 3 | 0 | +
-| minDistance2D       | 0 | 0 | 0 | 0 | +
-| relevantPhotosMax   | 10 | 10 | 10 | 10 | +
-| searchDistances2D   | StreetlevelDistances | StreetlevelDistances | AerialDistances  | AerialDistances | +
-| findCloserPhotoAlgorithm | SPATIAL_DISTANCE  | SPATIAL_DISTANCE<sup>1</sup> | SPATIAL_DISTANCE<sup>1</sup> | PIXEL_DISTANCE<sup>1</sup>+
-| requireFocusVisible | false | true | true | true | +
-| isStreetlevel       | true | true | false | false | +
-| searchCenter        | FOCUS_AND_VIEW<sup>2</sup> | FOCUS_AND_VIEW<sup>2</sup> | FOCUS_AND_VIEW<sup>2</sup> | FOCUS |+
  
-<sup>1</sup> Configurable via ''Views -> (Type) Image View -> Open best planar photo by''\\  +Hover over the eye-icon on top of the view to open the 'View Mode Fly-outand choose the desired View mode to change the type of the existing View.
-<sup>2</sup> Configurable via ''Views -> Image Views -> Open image from 3D View''+
  
-==== Algorithm ====+===== Focus other Views =====
  
-FindClosestPhoto 
  
-distanceToProjectionCenter(): projects the focus position on the photo and returns the pixel distance from that position to the photo center.+===== Search & Open best photo =====
  
 +Add, Move and Focus Views trigger the request to Search and Open the "best" image. \\
 +Depending on the use case and data-type other methods or configurations can be used.  \\
 +Anyway, the action consists of 2 consecutive steps
 +  - Get Candidates
 +  - Sort Photos
  
 +==== Get Candidates ====
  
-Input:  +Find relevant photos around the requested Focus Coordinate. \\ 
-  - Photo List +Any photo becomes a candidate if  
-  Focus Position +  Focus Coordinate is nearby the Photo Coordinate (Search Radius)  
-  View Position+  * Focus Coordinate is in the field of View of the Photo.
  
-Iterate photo objects +Searching for candidates is done by incrementally increasing the search radius and ends when 
-If findCloserPhotoAlgorithm = PIXEL_DISTANCE Then  +  * 10 or more candidates are found, or 
-  distance = getDistanceToProjectionCenter() +  * the maximum search radius is reached.
-If findCloserPhotoAlgorithm = SPATIAL_DISTANCE Then +
-  If (viewPosition!=null) Then  +
-  distance = getDistanceToPosition(photo,viewPosition) +
-Else If viewPosition!=null)+
  
-    +==== Sort Photos ====
-  +
  
 +Sort candidates by relevance, to get the best image and order alternative images. \\
 +The best image has the smallest value for the selected option
  
 +Options:
 +  * By Direction offset \\ Offset between the Candidate Direction (Candidate to Focus Coordinate) and Request Direction (3D View Position to Focus Coordinate).
 +  * By Pixel offset \\ Pixel offset of the Focus Coordinate projected on the Candidate Image to the Candidate Image Center.
 +  * By Spatial distance \\ Spatial distance of the Focus Coordinate to the Candidate Coordinate.