Open source Very Long Baseline Interferometry
OpenVLBI
|
Inherit this class to create an OpenVLBI server application.
Public Member Functions | |
Server (void) | |
Constructor, initializes all the internal variables. | |
virtual | ~Server (void) |
Destructor, destroys this object. | |
virtual int | Init (int argc, char **argv) |
Called immediately after main(), can be overriden to add your custom arguments. More... | |
virtual void | Parse (void) |
main() creates a loop that calls Parse(), you can use this one, which uses the standard syntax or override it with your own implementation | |
void | addContext (const char *name) |
add a new OpenVLBI context by giving it a name. VLBI::Server has an internal context collection More... | |
void | delContext (const char *name) |
delete an existing OpenVLBI context by name. More... | |
void | setContext (const char *name) |
set the current OpenVLBI context by passing its name. More... | |
vlbi_context | getContext (void) |
Obtain the current OpenVLBI context object. More... | |
char * | currentContext (void) |
Obtain the name current OpenVLBI context. More... | |
void | addModel (const char *name, char *format, char *b64) |
Create a new model from a picture, give it a name and add it to the current context. More... | |
dsp_stream_p | getModel (const char *name) |
Obtain the dsp_stream_p object of a model by passing its name. More... | |
char * | getModel (const char *name, char *format) |
Obtain the base64 encoded file buffer of a model by passing its name. More... | |
void | delModel (const char *name) |
delete from the current context an existing model by name. More... | |
int | getModels (char **names) |
get the names of all the models of the current context. More... | |
void | addNode (const char *name, char *b64) |
Create a new node from a monodimensional image FITS file, give it a name and add it to the current context. More... | |
void | addNodes (const char *name, char *b64) |
Create as many nodes as the rows number of an SDFITS file, give it a name and add it to the current context. More... | |
void | addNode (const char *name, dsp_location *locations, void *buf, int len, timespec starttime, bool geo) |
Create a new node from a its raw data, give it a name and add it to the current context. More... | |
void | delNode (const char *name) |
delete from the current context an existing node by name. More... | |
void | CopyNode (const char *name, const char *node) |
Copy a node into another node. More... | |
void | Plot (const char *name, int flags) |
Plot the current observation into a new model. More... | |
void | Idft (const char *name, const char *magnitude, const char *phase) |
Obtain an inverse fourier transform from the magnitude and phase models passed. More... | |
void | Dft (const char *name, const char *magnitude, const char *phase) |
Save the magnitude and phase to new models obtained by the fourier transform of the model passed. More... | |
void | Mask (const char *name, const char *model, const char *mask) |
Mask a model with another model by multiplication. More... | |
void | Stack (const char *name, const char *model1, const char *model2) |
Stack a model with another model. More... | |
void | Copy (const char *name, const char *model) |
Copy a model into another model. More... | |
void | Diff (const char *name, const char *model1, const char *model2) |
Diff a model with another model. More... | |
void | Convolute (const char *name, const char *model1, const char *model2) |
Convolute a model with a convolution matrix model. More... | |
void | LowPass (const char *name, const char *node, double freq) |
Apply a low pass filter on a node buffer. More... | |
void | HighPass (const char *name, const char *node, double freq) |
Apply a high pass filter on a node buffer. More... | |
void | BandPass (const char *name, const char *node, double lofreq, double hifreq) |
Apply a band pass filter on a node buffer. More... | |
void | BandReject (const char *name, const char *node, double lofreq, double hifreq) |
Apply a band reject filter on a node buffer. More... | |
void | Shift (const char *name) |
Shift a model by its dimension in-place. More... | |
virtual void | setRa (double value) |
set the target right ascension coordinate, do this before calling Plot() More... | |
virtual void | setDec (double value) |
set the target declination coordinate, do this before calling Plot() More... | |
virtual void | setFreq (double value) |
set the frequency observed, do this before calling Plot() More... | |
virtual void | setSampleRate (double value) |
set the sampling frequency, do this before calling Plot() More... | |
virtual void | setBps (int value) |
set the bytes per sample, do this before calling addNode() More... | |
virtual void | setWidth (int value) |
set the plot width, do this before calling Plot() More... | |
virtual void | setHeight (int value) |
set the plot height, do this before calling Plot() More... | |
double | getRa (void) |
get the current right ascension coordinate More... | |
double | getDec (void) |
get the current declination coordinate More... | |
double | getFreq (void) |
get the current frequency More... | |
double | getSampleRate (void) |
get the current sample rate More... | |
void | setCorrelationOrder (int order) |
set the current correlation order More... | |
double | getBps (void) |
get the bytes per sample More... | |
double | getWidth (void) |
get the plot width More... | |
double | getHeight (void) |
get the plot height More... | |
void | setInput (FILE *in) |
set the input stream More... | |
FILE * | getInput () |
get the input stream More... | |
void | setOutput (FILE *out) |
set the output stream More... | |
FILE * | getOutput () |
get the output stream More... | |
void | setDelegate (vlbi_func2_t func) |
set the delegate function More... | |
vlbi_func2_t | getDelegate () |
get the current delegate function More... | |
void VLBI::Server::addContext | ( | const char * | name | ) |
name | The name of the new context |
void VLBI::Server::addModel | ( | const char * | name, |
char * | format, | ||
char * | b64 | ||
) |
name | The name of the new model |
format | The format of the new model, can be one of png, jpeg or fits |
b64 | The file buffer base64 encoded |
void VLBI::Server::addNode | ( | const char * | name, |
char * | b64 | ||
) |
name | The name of the new node |
b64 | The file buffer base64 encoded |
void VLBI::Server::addNode | ( | const char * | name, |
dsp_location * | locations, | ||
void * | buf, | ||
int | len, | ||
timespec | starttime, | ||
bool | geo | ||
) |
name | The name of the new node |
locations | A pointer to its location(s), will be pointed from the new node, so don't free() it until the node is deleted |
buf | The data buffer of the new node. Will be casted, according the current value of Bps, to the element type with the current word size |
len | The number of elements |
starttime | The UTC time of the first element |
geo | If 1, consider all elements of location as geographic coordinates, if 0 as relative to the current context' station location |
void VLBI::Server::addNodes | ( | const char * | name, |
char * | b64 | ||
) |
name | The name of the new node |
b64 | The file buffer base64 encoded |
void VLBI::Server::BandPass | ( | const char * | name, |
const char * | node, | ||
double | lofreq, | ||
double | hifreq | ||
) |
name | The name of the new node |
node | The name of the unfiltered node |
lofreq | The low cut frequency in radians |
hifreq | The high cut frequency in radians |
void VLBI::Server::BandReject | ( | const char * | name, |
const char * | node, | ||
double | lofreq, | ||
double | hifreq | ||
) |
name | The name of the new node |
node | The name of the unfiltered node |
lofreq | The low cut frequency in radians |
hifreq | The high cut frequency in radians |
void VLBI::Server::Convolute | ( | const char * | name, |
const char * | model1, | ||
const char * | model2 | ||
) |
name | The name of the new model |
model1 | The name of the model |
model2 | The name of the model used as convolution matrix |
void VLBI::Server::Copy | ( | const char * | name, |
const char * | model | ||
) |
name | The name of the new model |
model | The name of the model to be copied |
void VLBI::Server::CopyNode | ( | const char * | name, |
const char * | node | ||
) |
name | The name of the new node |
node | The name of the node to be copied |
|
inline |
void VLBI::Server::delContext | ( | const char * | name | ) |
name | The name of the context to be deleted |
void VLBI::Server::delModel | ( | const char * | name | ) |
name | The name of the model to be deleted |
void VLBI::Server::delNode | ( | const char * | name | ) |
name | The name of the node to be deleted |
void VLBI::Server::Dft | ( | const char * | name, |
const char * | magnitude, | ||
const char * | phase | ||
) |
name | The name of the model |
magnitude | The name of the new model that will contain the magnitude |
phase | The name of the new model that will contain the phase |
void VLBI::Server::Diff | ( | const char * | name, |
const char * | model1, | ||
const char * | model2 | ||
) |
name | The name of the new model |
model1 | The name of the first model |
model2 | The name of the second model to be subtracted from model1 |
|
inline |
vlbi_context VLBI::Server::getContext | ( | void | ) |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
dsp_stream_p VLBI::Server::getModel | ( | const char * | name | ) |
name | The name of the model |
char* VLBI::Server::getModel | ( | const char * | name, |
char * | format | ||
) |
name | The name of the model |
format | The format of the picture exported, can be one of png, jpeg or fits |
int VLBI::Server::getModels | ( | char ** | names | ) |
names | The pointer of a char* array to be filled with the names of the models |
|
inline |
|
inline |
|
inline |
|
inline |
void VLBI::Server::HighPass | ( | const char * | name, |
const char * | node, | ||
double | freq | ||
) |
name | The name of the new node |
node | The name of the unfiltered node |
freq | The cutoff frequency in radians |
void VLBI::Server::Idft | ( | const char * | name, |
const char * | magnitude, | ||
const char * | phase | ||
) |
name | The name of the new model |
magnitude | The name of the model used as magnitude |
phase | The name of the model used as phase |
|
inlinevirtual |
argc | Non-negative value representing the number of arguments passed to the program from the environment in which the program is run. |
argv | Pointer to the first element of an array of argc + 1 pointers, of which the last one is null and the previous ones, if any, point to strings that represent the arguments passed to the program from the host environment. |
void VLBI::Server::LowPass | ( | const char * | name, |
const char * | node, | ||
double | freq | ||
) |
name | The name of the new node |
node | The name of the unfiltered node |
freq | The cutoff frequency in radians |
void VLBI::Server::Mask | ( | const char * | name, |
const char * | model, | ||
const char * | mask | ||
) |
name | The name of the new model |
model | The name of the model to be masked |
mask | The name of the mask model |
void VLBI::Server::Plot | ( | const char * | name, |
int | flags | ||
) |
name | The name of the new model |
flags | The vlbi_plot_flags that characterize this observation |
|
inlinevirtual |
value | The word width in bytes |
void VLBI::Server::setContext | ( | const char * | name | ) |
name | The name of the context |
void VLBI::Server::setCorrelationOrder | ( | int | order | ) |
order | The correlation order |
|
inlinevirtual |
value | The Declination coordinate in degrees |
|
inline |
func | The new delegate |
|
inlinevirtual |
value | The frequency in Hz |
|
inlinevirtual |
value | plot height in pixels |
|
inline |
in | The input stream file pointer |
|
inline |
out | The output stream file pointer |
|
inlinevirtual |
value | The RA coordinate in hours |
|
inlinevirtual |
value | The sample rate, in samples per second |
|
inlinevirtual |
value | plot width in pixels |
void VLBI::Server::Shift | ( | const char * | name | ) |
name | The name of the model |
void VLBI::Server::Stack | ( | const char * | name, |
const char * | model1, | ||
const char * | model2 | ||
) |
name | The name of the new model |
model1 | The name of the first model to be stacked |
model2 | The name of the second model to be stacked |