Photo Class Function Manual (M-P) |
Purpose
To determine the maximum value of all elements of a Photo.
Class
Photo
Usage
{double} ret = object.MAX()
Example:
->x = ph1.max() -> |
See also (class function)
min, mean, sd
Purpose
To determine a mean, an average, value of all elements of a Photo.
Class
Photo
Usage
{double} ret = object.MEAN()
Example:
->x = ph1.mean() -> |
See also (class function)
max, min, sd
Purpose
To determine a median, a value at the center position when all elements are sorted, of a Photo.
Class
Photo
Usage
{double} ret = object.MEDIAN()
Example:
->x = ph1.median() -> |
See also (class function)
max, min, mean, sd
Purpose
To determine the minimum value of all elements of a Photo.
Class
Photo
Usage
{double} ret = object.MIN()
Example:
->x = ph1.min() -> |
See also (class function)
max, mean, sd
Purpose
To return the name of the Photo.
Class
Photo
Usage
{String} ret = object.NAME()
Example:
->ph1_name = ph1.name() -> |
See also (class function)
id
Purpose
To report the number of columns of a Photo.
Class
Photo
Usage
{int} ret = object.NCOL()
Example:
->n = ph1.ncol() -> |
See also (class function)
nrow
Purpose
To get a value at a particular x y photo coordinate, using nearest neighbor method.
If the coordinate is outside the region of the image, the function will return the current value of null data of the image.
Class
Photo
Usage
{double} ret = object.NEAREST({double} argm1, {double} argm2)
argm1 = x photo coordinate
argm2 = y photo coordinate
Example:
->val = ph1.nearest(12.544, 22.986)
-> |
See also (class function)
bilinear, bicubic
Purpose
To report the number of rows of a Photo.
Class
Photo
Usage
{int} ret = object.NROW()
Example:
->n = ph1.nrow() -> |
See also (class function)
ncol
Purpose
To report the current value of scale number of the photo. The scale number of a scale 1:15000 is 15000.
Class
Photo
Usage
{double} ret = object.NUMSCALE()
Example:
->n = ph1.numscale() -> |
See also (class function)
Purpose
To create an occlusion map, an Image_uch object, for all points of a DEM surface, that can not be seen on a given photo. The occlusion is caused by tall buildings that are given by a set of 3D polylines, a Vec3DPline object. The result image presents the occlusion area by turn the pixel values to 255, while oter pixel values remain zero.
The result image will have the same size as the DEM image.
Class
Photo
Usage
{Image_uch} ret = object.OCCLUSION({Image_flt} argm1, {Vec3DPline} argm2)
argm1 = DEM surface
argm2 = rooftop polygons
Example:
->Img_occlusion = ph1.occlusion(Img_dem,
V_rooftop)
-> |
See also (class function)
ortho2img, orthocover, orthodemreproj, orthoreproj, orthoreproj2img, orthodemreproj2img
Purpose
To create an ortho-rectified image using rigorous collinearity transformation and a Digital Elevation Model (DEM). The Exterior Orientation of the Photo is assumed to be known, or have been determined in the previous stage. The coordinate system on which the EOP is based must be the same system of DEM. Hence the final ortho-photo map is also in the same coordinate system as that of DEM and EOP.
This function determines an area coverage of the final ortho-photo automatically. It is the largest area possible that the projected ortho-photo can be created using the given DEM. Hence, if the area coverage of DEM is smaller than the ortho-projected area, the coverage of the final result image will be controlled by the area coverage of DEM. On the other hand, if the area coverage of DEM is too big, the final result image will have an area coverage of the largest possible otho-projected area from the photo.
The result image is an Image_uch object, where spatial information is correctly attached to the image. Hence, its x y image rectangular coordinate is equivalent to ground coordinate. The boundary of the result ortho-rectified image is determined automatically, using the specified resolution given by the user. If an image is to be ortho-rectified onto a pre-defined blank image, the function "ortho2img" must be used instead. In this case the user has a full control over the area coverage of the final result image.
If a DEM interpolation is necessary, the interpolation mehod to be used will be "bilinear".
Class
Photo
Usage
{Image_RGB} ret = object.ORTHO({double} argm1, {Image_flt} argm2, [{String} argm3])
argm1 = resolution of the ortho-rectified image (in ground unit)
argm2 = DEM image
argm3 = resample method, must be "nearest" or "bilinear" or "bicubic"
(default = "nearest")
Example:
->Img_ortho = ph1.ortho(2.5, Img_dem, "bicubic")
-> |
See also (class function)
ortho2img, orthocover, orthodemreproj, orthoreproj, orthoreproj2img, orthodemreproj2img
Purpose
To create an ortho-rectified image using rigorous collinearity transformation and a Digital Elevation Model (DEM). The result image will have the same size and resolution as the template image specified in one of the function arguments.
The function is similar to function "ortho", except that it will create a new image, by using information from the image in the first argument, to store the ortho-rectified image.
This function can be used to fully control the size and resolution of the output ortho-rectified image. Hence the target result image can be generated before hand according to a certain specification, for example resolution, coordinates of lower left and upper right corner. Then it will be input as one of the argument in the function. The result ortho-rectified image will have exactly the same geometry as the pre-defined image.
All other detail explanations are same as that of function "ortho" and can be seen in function "ortho".
Class
Photo
Usage
{Image_RGB} ret = object.ORTHO2IMG({Image_RGB} argm1, {Image_flt} argm2, [{String} argm3])
argm1 = template image for the result ortho-rectified image
argm2 = DEM image
argm3 = resample method, must be "nearest" or "bilinear" or "bicubic"
(default = "nearest")
Example:
->Img_ortho = ph1.ortho2img(img_ortho, Img_dem,
"bicubic")
-> |
See also (class function)
ortho, orthodemrpj, orthoreproj, orthoreproj2img, orthodemrpj2img
Purpose
To create an ortho-rectified image using rigorous collinearity transformation and a Digital Elevation Model (DEM). This function is different from function "ortho" in that the EOP coodinate system is a Topo-centric coordinate system, which is different from that of DEM and the requested final map coordinate system. The final map coordinate and DEM are in the same system.
This situation occurs when a Topo-centric coordinate system is introduced as an intermediate ground control coordinate system, in order to eliminate earth curvature effect for a very large block of aerial triangulation. Thus, all EOPs come out from the block adjustment are in topo-centric system, which is different from DEM coordinate system.
This function determines an area coverage of the final ortho-photo automatically. It is the largest area possible that the projected ortho-photo can be created using the given DEM. Hence, if the area coverage of DEM is smaller than the ortho-projected area, the coverage of the final result image will be controlled by the area coverage of DEM. On the other hand, if the area coverage of DEM is too big, the final result image will have an area coverage of the largest possible otho-projected area from the photo.
The result image is an Image_uch object, where spatial information is correctly attached to the image. Hence, its x y image rectangular coordinate is equivalent to ground coordinate. The boundary of the result ortho-rectified image is determined automatically, using the specified resolution given by the user. If an image is to be ortho-rectified onto a pre-defined blank image, the function "ortho2img" must be used instead. In this case the user has a full control over the area coverage of the final result image.
Class
Photo
Usage
{Image_RGB} ret = object.ORTHODEMRPJ({double} argm1, {Image_flt} argm2, {double} argm3, {double} argm4, {double} argm5, [{double} argm6, {String} argm7])
argm1 = resolution of the ortho-rectified image (in ground unit)
argm2 = DEM image
argm3 = latitude of the origin of the Topo-centric system
argm4 = longitude of the origin of the Topo-centric system
argm5 = elevation of the origin of the Topo-centric system
argm6 = elevation upon which the final coverage is determined.
(default = minimum value of DEM)
argm7 = resample method, must be "nearest" or "bilinear" or "bicubic"
(default = "nearest")
Example:
->Img_ortho = ph1.orthodemrpj(2.5, Img_dem,
13, 100, 0, 0, "bicubic")
-> |
See also (class function)
orthoreproj
Purpose
To create an ortho-rectified image using rigorous collinearity transformation and a Digital Elevation Model (DEM). The result image will have the same size and resolution as the template image specified in one of the function arguments.
The function is similar to function "orthodemrpj", except that it will create a new image, by using information from the image in the first argument, to store the ortho-ectified image.
This function can be used to fully control the size and resolution of the output ortho-rectified image. Hence the target result image can be generated before hand according to a certain specification, for example resolution, coordinates of lower left and upper right corner. Then it will be input as one of the argument in the function. The result ortho-rectified image will have exactly the same geometry as the pre-defined image.
All other detail explanations are same as that of function "orthodemrpj" and can be seen in function "orthodemrpj".
Class
Photo
Usage
{Image_RGB} ret = object.ORTHODEMRPJ2IMG({Image_RGB} argm1, {Image_flt} argm2, {double} argm3, {double} argm4, {double} argm5, [{String} argm6])
argm1 = template image for the result ortho-rectified image
argm2 = DEM image
argm3 = latitude of the origin of the Topo-centric system
argm4 = longitude of the origin of the Topo-centric system
argm5 = elevation of the origin of the Topo-centric system
argm6 = resample method, must be "nearest" or "bilinear" or "bicubic"
(default = "nearest")
Example:
->Img_ortho = ph1.orthodemrpj2img(,
Img_ortho, Img_dem, 13, 100, 0, "bicubic")
-> |
See also (class function)
orthodemrpj
Purpose
To create an ortho-rectified image using rigorous collinearity transformation and a Digital Elevation Model (DEM). This function is almost the same as function "ortho", that is the DEM and EOP are in the same coordinate system. However, they are different from the required coordinate system of the final ortho-photo.
This situation occurs when a survey and aerial triangulation are already done, and later on there is a requirement to have the final map product in or another map project system, which is different from the one used in aerial triangulation.
This function determines an area coverage of the final ortho-photo automatically. It is the largest area possible that the projected ortho-photo can be created using the given DEM. Hence, if the area coverage of DEM is smaller than the ortho-projected area, the coverage of the final result image will be controlled by the area coverage of DEM. On the other hand, if the area coverage of DEM is too big, the final result image will have an area coverage of the largest possible otho-projected area from the photo.
The result image is an Image_uch object, where spatial information is correctly attached to the image. Hence, its x y image rectangular coordinate is equivalent to ground coordinate. The boundary of the result ortho-rectified image is determined automatically, using the specified resolution given by the user. If an image is to be ortho-rectified onto a pre-defined blank image, the function "ortho2img" must be used instead. In this case the user has a full control over the area coverage of the final result image.
Class
Photo
Usage
{Image_RGB} ret = object.ORTHODEMRPJ({double} argm1, {Image_flt} argm2, {Projection} argm3, [{String} argm4])
argm1 = resolution of the ortho-rectified image (in ground unit)
argm2 = DEM image
argm3 = final map projection
argm4 = resample method, must be "nearest" or "bilinear" or "bicubic"
(default = "nearest")
Example:
->Img_ortho = ph1.orthoreproj(2.5, Img_dem,
proj_new, "bicubic")
-> |
See also (class function)
orthodemrpj
Purpose
To create an ortho-rectified image using rigorous collinearity transformation and a Digital Elevation Model (DEM). The result image will have the same size and resolution as the template image specified in one of the function arguments.
The function is similar to function "orthoreproj", except that it will create a new image, by using information from the image in the first argument, to store the ortho-rectified image. Information about the new map projection system is rendered in the template image.
This function can be used to fully control the size and resolution of the output ortho-rectified image. Hence the target result image can be generated before hand according to a certain specification, for example resolution, coordinates of lower left and upper right corner. Then it will be input as one of the argument in the function. The result ortho-rectified image will have exactly the same geometry as the pre-defined image.
All other detail explanations are same as that of function "orthoreproj" and can be seen in function "orthoreproj".
Class
Photo
Usage
{Image_RGB} ret = object.ORTHOREPROJ2IMG({Image_RGB} argm1, {Image_flt} argm2, [{String} argm3])
argm1 = template image for the result ortho-rectified image
argm2 = DEM image
argm3 = resample method, must be "nearest" or "bilinear" or "bicubic"
(default = "nearest")
Example:
->Img_ortho = ph1.orthodemrpj2img(,
Img_ortho, Img_dem, 13, 100, 0, "bicubic")
-> |
See also (class function)
orthodemrpj
Purpose
To create a pyramid of photo. A pyramid consists of a set of photos at different resolutions starting from the highest resolution to the lowest resolution. If the original photo has its IO done, then all the sub-sequent lower resolution photo in the pyramid will automatically carry IO information suitable to convert back and forth between row column numbers and x y photo coordinate.
To decrease the resolution of a photo, the function utilizes a Gaussian filter, with a standard deviation specified by the user. Then to make its size smaller, the function simply skip a pixel, row-wise and column-wise, on the smooth image to make the next level image.
The results are stored in files, and the number of files is equal to the number of pyramid levels given by the user. The user can give provide a file name, says "Tulip", then the function will create the following files, "Tulip_0", "Tulip_1", "Tulip_2",.... Each of them is in fact an individual photo object.
Class
Photo
Usage
{void} object.PYRAMID({int} argm1, [{String} argm2, {double} argm3])
argm1 = no of pyramid levels
argm2 = output file name (default = "pyramid")
argm3 = stadard deviation of Gaussian filter (default = 0.75)
Example:
->ph1.pyramid(5, "Tulip", 0.25)
-> |
See also (class function)
skip, fgauss