UNPKG

slimfits

Version:

Package for loading data stored in FITS data format

343 lines (342 loc) 8.77 kB
export interface IPlaneProjectionDefinition { frame_reference_point: { x: number; y: number; }; sky_reference_point: { alpha: number; delta: number; }; transform_matrix: number[][]; distortion_matrix: number[][]; celestial_pole: { latitude: number; longitude: number; }; } export interface ISphericalProjectionConverter { convert(coords: { x: number; y: number; }): { alpha: number; delta: number; }; convertBack(coords: { alpha: number; delta: number; }): { x: number; y: number; }; } export declare abstract class SphericalProjectionConverterBase { private static longitudalTypes; private static isLongitudal; protected ra2de: number; protected de2ra: number; protected phi_0: number; protected theta_0: number; protected alpha_0: number; protected delta_0: number; protected theta_p: number; protected phi_p: number; protected ctypes: string[]; protected wcslen: number; protected cdelts: number[]; protected crpixs: number[]; protected crvals: number[]; protected crotas: number[]; protected transform_matrix: number[][]; protected inverse_transform_matrix: number[][]; protected projection: string; protected axes_types: Array<{ name: string; isLongitudal: boolean; }>; constructor(obj: any[] | IPlaneProjectionDefinition); convert(coords: { x: number; y: number; }): { alpha: number; delta: number; }; convertBack(coords: { alpha: number; delta: number; }): { x: number; y: number; }; abstract convertToSpherical(coords: { x: number; y: number; }): { r: number; phi: number; theta: number; }; abstract calculate_alphap_deltap(): { alpha_p: number; delta_p: number; }; abstract calculate_phi0_theta0(): { phi_0: number; theta_0: number; }; abstract convertFromCelestial(coords: { alpha: number; delta: number; }): { r: number; phi: number; theta: number; }; protected multiplyMatrices(arr1: number[][], arr2: number[][]): number[][]; protected convertToRelative(coords: { x: number; y: number; }): { u: number; v: number; }; protected convertFromRelative(coords: { u: number; v: number; }): { x: number; y: number; }; protected convertToIntermediate(coords: { u: number; v: number; }): { x: number; y: number; }; protected convertFromIntermediate(coords: { x: number; y: number; }): { u: number; v: number; }; protected convertFromSpherical(coords: { r: number; phi: number; theta: number; }): { x: number; y: number; }; protected convertToCelestial(coords: { r: number; phi: number; theta: number; }): { alpha: number; delta: number; }; protected convertFromCelestialToAngles(coords: { alpha: number; delta: number; }): { phi: number; theta: number; }; protected constructFromHeader(header: any[]): void; protected constructFromDefinition(definition: IPlaneProjectionDefinition): void; private inverseOf; } export declare abstract class ZenithalProjectionConverterBase extends SphericalProjectionConverterBase { calculate_alphap_deltap(): { alpha_p: number; delta_p: number; }; calculate_phi0_theta0(): { phi_0: number; theta_0: number; }; } export declare abstract class NonPolarProjectionConverterBase extends SphericalProjectionConverterBase { calculate_alphap_deltap(): { alpha_p: number; delta_p: number; }; } export declare class GnomonicProjectionConverter extends ZenithalProjectionConverterBase implements ISphericalProjectionConverter { convertToSpherical(coords: { x: number; y: number; }): { r: number; phi: number; theta: number; }; convertFromCelestial(coords: { alpha: number; delta: number; }): { r: number; phi: number; theta: number; }; } export declare class TpvGnomonicProjectionConverter extends GnomonicProjectionConverter implements ISphericalProjectionConverter { protected pvs: number[][]; convert(coords: { x: number; y: number; }): { alpha: number; delta: number; }; convertBack(coords: { alpha: number; delta: number; }): { x: number; y: number; }; protected constructFromHeader(header: any[]): void; protected constructFromDefinition(definition: IPlaneProjectionDefinition): void; protected convertToDistorted(coords: { x: number; y: number; }): { x: number; y: number; }; protected getDistortedParam(xi: number, eta: number, pv: number[]): number; protected convertFromDistorted(coords: { x: number; y: number; }): { x: number; y: number; }; } export declare class SipGnomonicProjectionConverter extends GnomonicProjectionConverter implements ISphericalProjectionConverter { protected a: number[][]; protected b: number[][]; protected a_order: number; protected b_order: number; protected ab_inv: number[][]; protected inv_a_order: number; protected inv_b_order: number; convert(coords: { x: number; y: number; }): { alpha: number; delta: number; }; convertBack(coords: { alpha: number; delta: number; }): { x: number; y: number; }; protected constructFromHeader(header: any[]): void; protected constructFromDefinition(definition: IPlaneProjectionDefinition): void; protected convertToDistorted(coords: { u: number; v: number; }): { u: number; v: number; }; protected getDistortedParam(u: number, v: number, arr: number[][], order: number): number; protected convertFromDistorted(coords: { u: number; v: number; }): { u: number; v: number; }; } export declare class SlantOrtographicProjectionConverter extends ZenithalProjectionConverterBase implements ISphericalProjectionConverter { convertToSpherical(coords: { x: number; y: number; }): { r: number; phi: number; theta: number; }; convertFromCelestial(coords: { alpha: number; delta: number; }): { r: number; phi: number; theta: number; }; } export declare class ZenithalEquidistantProjectionConverter extends ZenithalProjectionConverterBase implements ISphericalProjectionConverter { convertToSpherical(coords: { x: number; y: number; }): { r: number; phi: number; theta: number; }; convertFromCelestial(coords: { alpha: number; delta: number; }): { r: number; phi: number; theta: number; }; } export declare class StereographicProjectionConverter extends ZenithalProjectionConverterBase implements ISphericalProjectionConverter { convertToSpherical(coords: { x: number; y: number; }): { r: number; phi: number; theta: number; }; convertFromCelestial(coords: { alpha: number; delta: number; }): { r: number; phi: number; theta: number; }; } export declare class ZenithalEqualAreaProjectionConverter extends ZenithalProjectionConverterBase implements ISphericalProjectionConverter { convertToSpherical(coords: { x: number; y: number; }): { r: number; phi: number; theta: number; }; convertFromCelestial(coords: { alpha: number; delta: number; }): { r: number; phi: number; theta: number; }; } export declare class SphericalProjectionConvertersBuilder { private registeredConverters; constructor(); canBuild(obj: any[] | string): boolean; build(obj: any[] | { projection: string; definition: IPlaneProjectionDefinition; }): ISphericalProjectionConverter; registerConverter(projection: string, converter: (header: any[]) => ISphericalProjectionConverter): void; private canBuildInner; }