Variable Star package provides the main funtions to analized patterns on the oscilation modes of variable stars.
All the code is based on these two papers:
install.packages("devtools") library(devtools) install_github("rmaestre/variableStars")
We strongly recommend to use The Microsoft R Open & MKL R distribution as R distribution.
Also, please do not forgive to include the file Makevars.win
into the src project folder with the next content:
CXX_STD = CXX11 PKG_CXXFLAGS = $(SHLIB_OPENMP_CXXFLAGS) PKG_LIBS = $(SHLIB_OPENMP_CXXFLAGS) $(LAPACK_LIBS) $(BLAS_LIBS) $(FLIBS)
library(variableStars) runUISynthetic()
Please, find here or here the main execution of the complete package procedure.
(The pulsar in the Crab Nebula is composed by images taken by Hubble (red) and Chandra X-Ray(blue))
All core funcionalities are programmed in C++ using RcppArmadillo integrated through Rcpp. An example of function to calculate all differences between pair of element using Armadillo C++ library, iterators and std operattions:
// Calculate all frequences differences int n = frequences.n_elem; int diagSupElements = n * (n - 1) / 2; arma::vec diff(diagSupElements); // Number of elements in the sup. diag. NumericVector::iterator it_first, it_second, it_diff; it_diff = diff.begin(); // output iterator int countElements = 0; // Double loop (n^2 complexity) for (it_first = frequences.begin(); it_first < frequences.end(); it_first++) { for (it_second = it_first; it_second < frequences.end() & it_diff < diff.end(); it_second++) { if (it_first != it_second) { // Jump same elements * it_diff = std::abs( * it_second - * it_first); // Save absolute difference if ( * it_diff != 0) { it_diff++; // Increase pointer countElements++; // Increase elements } } } } // Remove unused memory diff.resize(diagSupElements - (diagSupElements - countElements)); // Return results return diff; }
However, all code can be call from R easily with the next function
result <- process( data$frequency, data$amplitude, filter = "uniform", gRegimen = 0, minDnu = 15, maxDnu = 95, dnuValue = -1, dnuGuessError = 10, dnuEstimation = TRUE, numFrequencies = 30, debug = TRUE )
This package is also used as feature engineering in Deep Neural Network application to Dnu and dr estimation.
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.