Data models
All functions in the processing function library should use these data models for the input and output variables. When referring to the dimensions (X, Y, Z) the Z dimension is the fastest varying while X is the slowest varying dimension.
Visibility functions
Functions which would be working with visibilities should use these input/outputs. Only parameters which are used be the function should be passed, not all of them.
Visibilities:
sdp_Mem *visType: complex-valued array
Dimensions: (time samples, baselines, channels, polarizations)
UVW coordinates:
sdp_Mem *uvw[metres]Type: real-valued array
Dimensions: (time samples, baselines, 3)
Weights:
sdp_Mem *weightsType: real-valued array
Dimensions: (time samples, baselines, channels)
Channel start:
double channel_start[Hz]Type: real-valued variable
Channel step:
double channel_step[Hz]Type: real-valued array
Time centroids:
sdp_Mem *time_centroids[s]Type: real-valued array
Dimensions: (time samples, baselines, channels)
Freq centroids:
sdp_Mem *freq_centroid[Hz]Type: real-valued array
Dimensions: (time samples, baselines, channels)
Exposure:
sdp_Mem *exposure[s]Type: real-valued array
Dimensions: (time samples, baselines, channels)
Bandwidth:
sdp_Mem *bandwidth[Hz]Type: real-valued array
Dimensions: (time samples, baselines, channels)
Sky Coordinate Metadata:
sdp_SkyCoord *coordType: SkyCoord contains a string (
char* type) to describe the coordinate type, a coordinate epoch (double), and up to three values coord1, coord2, coord3 (each adouble).
Baseline metadata:
sdp_Table *blNote: table-like data type not implemented yet
Polarisation metadata:
sdp_Table *polarNote: table-like data type not implemented yet
Scan id:
sdp_Mem *scan_idType: integer-valued array
Dimensions: (time samples)
Scan metadata:
sdp_Table *scanNote: table-like data type not implemented yet
Grid functions
Functions which would be working on grids should use these input/outputs. Only parameters which are used be the function should be passed, not all of them.
Grid:
sdp_Mem *gridType: complex-valued array
Dimensions: (channels, w, v, u, polarizations)
Coordinate step:
double du, double dv, double dwType: real-valued
Grid offset:
double offset_u, double offset_v, double offset_wType: real-valued
Sky Coordinate Metadata:
sdp_SkyCoord *coordType: SkyCoord contains a string (
char* type) to describe the coordinate type, a coordinate epoch (double), and up to three values coord1, coord2, coord3 (each adouble).
UVW Projection:
sdp_Mem *uvw_projectionType: real-valued
Dimensions: (3, 3)
Polarisation metadata:
sdp_Table *polarNote: table-like data type not implemented yet
UVW functions
Functions which would be working on UVW coordinates should use these input/outputs. Only parameters which are used be the function should be passed, not all of them.
UVW coordinates:
sdp_Mem *uvwType: real-valued array
Dimensions: (time samples, baselines, 3)
Time:
double time_start, double time_stepType: real-valued
Sky Coordinate Metadata:
sdp_SkyCoord *coordType: SkyCoord contains a string (
char* type) to describe the coordinate type, a coordinate epoch (double), and up to three values coord1, coord2, coord3 (each adouble).
UVW Projection:
sdp_Mem *uvw_projectionType: real-valued
Dimensions: (3, 3)
Baseline metadata:
sdp_Table *blNote: table-like data type not implemented yet
Image functions
Functions which would be working on UVW coordinates should use these input/outputs. Only parameters which are used be the function should be passed, not all of them.
Image:
sdp_Mem *imageType: complex-valued array
Dimensions: (channels, m, l, polarizations)
Coordinate step:
double dl, double dmType: real-valued
Sky Coordinate Metadata:
sdp_SkyCoord *coordType: SkyCoord contains a string (
char* type) to describe the coordinate type, a coordinate epoch (double), and up to three values coord1, coord2, coord3 (each adouble).
lmn projection:
sdp_Mem *lmn_projectionType: real-valued
Dimensions: (3, 3)
Polarisation metadata:
sdp_Table *polarNote: table-like data type not implemented yet