diff options
author | Joseph Hunkeler <jhunkeler@gmail.com> | 2015-03-04 21:21:30 -0500 |
---|---|---|
committer | Joseph Hunkeler <jhunkeler@gmail.com> | 2015-03-04 21:21:30 -0500 |
commit | d54fe7c1f704a63824c5bfa0ece65245572e9b27 (patch) | |
tree | afc52015ffc2c74e0266653eecef1c8ef8ba5d91 /src/slalib/pcd.f | |
download | calfuse-d54fe7c1f704a63824c5bfa0ece65245572e9b27.tar.gz |
Initial commit
Diffstat (limited to 'src/slalib/pcd.f')
-rw-r--r-- | src/slalib/pcd.f | 59 |
1 files changed, 59 insertions, 0 deletions
diff --git a/src/slalib/pcd.f b/src/slalib/pcd.f new file mode 100644 index 0000000..71241a7 --- /dev/null +++ b/src/slalib/pcd.f @@ -0,0 +1,59 @@ + SUBROUTINE sla_PCD (DISCO,X,Y) +*+ +* - - - - +* P C D +* - - - - +* +* Apply pincushion/barrel distortion to a tangent-plane [x,y]. +* +* Given: +* DISCO d pincushion/barrel distortion coefficient +* X,Y d tangent-plane coordinates +* +* Returned: +* X,Y d distorted coordinates +* +* Notes: +* +* 1) The distortion is of the form RP = R*(1 + C*R**2), where R is +* the radial distance from the tangent point, C is the DISCO +* argument, and RP is the radial distance in the presence of +* the distortion. +* +* 2) For pincushion distortion, C is +ve; for barrel distortion, +* C is -ve. +* +* 3) For X,Y in units of one projection radius (in the case of +* a photographic plate, the focal length), the following +* DISCO values apply: +* +* Geometry DISCO +* +* astrograph 0.0 +* Schmidt -0.3333 +* AAT PF doublet +147.069 +* AAT PF triplet +178.585 +* AAT f/8 +21.20 +* JKT f/8 +13.32 +* +* 4) There is a companion routine, sla_UNPCD, which performs +* an approximately inverse operation. +* +* P.T.Wallace Starlink 31 December 1992 +* +* Copyright (C) 1995 Rutherford Appleton Laboratory +*- + + IMPLICIT NONE + + DOUBLE PRECISION DISCO,X,Y + + DOUBLE PRECISION F + + + + F=1D0+DISCO*(X*X+Y*Y) + X=X*F + Y=Y*F + + END |