slimfits
Version:
Package for loading data stored in FITS data format
343 lines (342 loc) • 8.77 kB
TypeScript
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;
}