InfiniteParaxialSystem¶
- class dnois.optics.InfiniteParaxialSystem(focal_ratio: Real | Tensor, principal1: Real | Tensor = None, principal2: Real | Tensor = None)¶
An implementation of
ParaxialSystem
whose focal lengths are both infinite. However, the ratio of the image focal length to the object one is finite.See
ParaxialSystem
for descriptions of more parameters.- Parameters:
focal_ratio – Ratio of the image focal length to the object one.
- composite(other: ParaxialSystem, delta: Real | Tensor = None, d: Real | Tensor = None) ParaxialSystem ¶
Composite two paraxial systems. To compute the focal lengths of resulted system, their distance must be determined, which can be specified by the distance between their focal points (
delta
) or their principal points (d
). If both systems have definite principal points, these two parameters cannot be given.- Parameters:
other (ParaxialSystem) – Another paraxial system.
delta – Distance between the two focal points.
d – Distance between the two principal points.
- Returns:
A new paraxial system.
- Return type:
- feature(obj_d: Real | Tensor, img_d: bool = True, transverse: bool = True, longitudinal: bool = True, angular: bool = True) ConjugatePointFeature ¶
Compute various features of the conjugate points at a given object distance.
See also
- Parameters:
obj_d – Object distance.
img_d (bool) – Whether to compute image distance. Default:
True
.transverse (bool) – Whether to compute transverse magnification. Default:
True
.longitudinal (bool) – Whether to compute longitudinal magnification. Default:
True
.angular (bool) – Whether to compute angular magnification. Default:
True
.
- Returns:
A
ConjugatePointFeature
object.- Return type:
- classmethod from_interface(roc: Real | Tensor, n1: Real | Tensor, n2: Real | Tensor, location: Real | Tensor = None) ParaxialSystem ¶
Construct a paraxial system from the interface between two media given its radius of curvature. See Paraxial Optics for the rule about the sign of radius of curvature.
- Parameters:
roc – Radius of curvature of the interface.
n1 – Refractive index of the medium before the interface.
n2 – Refractive index of the medium after the interface.
location – Location of the interface which serves as the principal points. Default: not specified.
- Returns:
A paraxial system.
- Return type:
- img_point(obj_point: Tensor) Tensor ¶
Compute the conjugate point of a given point in object space. The point is specified by its 3D coordinate. Note that the optical axis is z-axis, while the directions of x-axis and y-axis do not matter.
- Parameters:
obj_point (Tensor) – The point in object space. A tensor whose size in last dimension is either 3 where the first two indicates x- and y-coordinates, or 2 where the first indicates lateral coordinates.
- Returns:
The conjugate point in image space. Its shape is broadcast from that of
obj_point
and some features ofself
.- Return type:
Tensor
- imgd(obj_d: Real | Tensor) Real | Tensor ¶
Call
dnois.optics.imgd()
with focal lengths of this system.
- obj_point(img_point: Tensor) Tensor ¶
Similar to
img_point()
but computes object point from image point.
- objd(img_d: Real | Tensor) Real | Tensor ¶
Call
dnois.optics.objd()
with focal lengths of this system.
- property fl2¶