======================
I implemented the generalized PCA algorithm that I had previously described only conceputally for our proposal. The code is at https://github.com/eford/RVSpectraKitLearn.jl
Some instructions below for trying it out...
Download and install a v0.5 release candidate of Julia from http://julialang.org/downloads/
Start julia
julia
Install the package
Pkg.clone("[email protected]:eford/RvSpectraKitLearn.jl.git") # Install package
Edit the file path_to_spectra.jl to point to the directory with your spectra, perhaps like
path_to_spectra = "C:\\Users\\eford\\Box Sync\\SOAP simulations\\Aug2016_workshop\\SOAP_Spectra\\planet_10ms_150k"
path_to_spectra = joinpath(homedir(),"SOAP_Spectra/planet_10ms_150k")
include(joinpath(Pkg.dir("RvSpectraKitLearn"),"test","runtests.jl"))
You can see how to use as an example (very similar to tests), either from julia
include(joinpath(Pkg.dir("RvSpectraKitLearn"),"examples","gpca_ex1.jl"))
or from the shell
julia examples/gpca_ex1.jl
If you want to call Python from Julia, see https://github.com/stevengj/PyCall.jl . If you want to call Julia from python, see https://github.com/JuliaInterop/pyjulia (I haven't tested this).