tschoonj / xraylib

A library for X-ray matter interaction cross sections for X-ray fluorescence applications
https://github.com/tschoonj/xraylib/wiki
Other
123 stars 56 forks source link

Missing Functions in Matlab? #33

Closed LGromann closed 8 years ago

LGromann commented 8 years ago

Hi, I would like to use xraylib with Matlab, but when I run the command

libfunctions('libxrl', '-full')

to get a list of available functions, I noticed, that the most interesting functions for me, namely the NIST Compound wrapper are missing. What am I doing wrong?
(I Installed xraylib using Port on my Mac and loaded the library with

loadlibrary('/opt/local/lib/libxrl',... '/opt/local/include/xraylib/xraylib.h'))

Thanks,

Functions in library libxrl: double AtomicLevelWidth(int32, int32) double AtomicWeight(int32) double AugerRate(int32, int32) double AugerYield(int32, int32) double CS_Compt(int32, double) [double, cstring] CS_Compt_CP(cstring, double) double CS_Energy(int32, double) [double, cstring] CS_Energy_CP(cstring, double) double CS_FluorLine(int32, int32, double) double CS_FluorLine_Kissel(int32, int32, double) double CS_FluorLine_Kissel_Cascade(int32, int32, double) double CS_FluorLine_Kissel_Nonradiative_Cascade(int32, int32, double) double CS_FluorLine_Kissel_Radiative_Cascade(int32, int32, double) double CS_FluorLine_Kissel_no_Cascade(int32, int32, double) double CS_KN(double) double CS_Photo(int32, double) [double, cstring] CS_Photo_CP(cstring, double) double CS_Photo_Partial(int32, int32, double) double CS_Photo_Total(int32, double) [double, cstring] CS_Photo_Total_CP(cstring, double) double CS_Rayl(int32, double) [double, cstring] CS_Rayl_CP(cstring, double) double CS_Total(int32, double) [double, cstring] CS_Total_CP(cstring, double) double CS_Total_Kissel(int32, double) [double, cstring] CS_Total_Kissel_CP(cstring, double) double CSb_Compt(int32, double) [double, cstring] CSb_Compt_CP(cstring, double) double CSb_FluorLine(int32, int32, double) double CSb_FluorLine_Kissel(int32, int32, double) double CSb_FluorLine_Kissel_Cascade(int32, int32, double) double CSb_FluorLine_Kissel_Nonradiative_Cascade(int32, int32, double) double CSb_FluorLine_Kissel_Radiative_Cascade(int32, int32, double) double CSb_FluorLine_Kissel_no_Cascade(int32, int32, double) double CSb_Photo(int32, double) [double, cstring] CSb_Photo_CP(cstring, double) double CSb_Photo_Partial(int32, int32, double) double CSb_Photo_Total(int32, double) [double, cstring] CSb_Photo_Total_CP(cstring, double) double CSb_Rayl(int32, double) [double, cstring] CSb_Rayl_CP(cstring, double) double CSb_Total(int32, double) [double, cstring] CSb_Total_CP(cstring, double) double CSb_Total_Kissel(int32, double) [double, cstring] CSb_Total_Kissel_CP(cstring, double) double ComptonEnergy(double, double) double ComptonProfile(int32, double) double ComptonProfile_Partial(int32, int32, double) double CosKronTransProb(int32, int32) double DCSP_Compt(int32, double, double, double) [double, cstring] DCSP_Compt_CP(cstring, double, double, double) double DCSP_KN(double, double, double) double DCSP_Rayl(int32, double, double, double) [double, cstring] DCSP_Rayl_CP(cstring, double, double, double) double DCSP_Thoms(double, double) double DCSPb_Compt(int32, double, double, double) [double, cstring] DCSPb_Compt_CP(cstring, double, double, double) double DCSPb_Rayl(int32, double, double, double) [double, cstring] DCSPb_Rayl_CP(cstring, double, double, double) double DCS_Compt(int32, double, double) [double, cstring] DCS_Compt_CP(cstring, double, double) double DCS_KN(double, double) double DCS_Rayl(int32, double, double) [double, cstring] DCS_Rayl_CP(cstring, double, double) double DCS_Thoms(double) double DCSb_Compt(int32, double, double) [double, cstring] DCSb_Compt_CP(cstring, double, double) double DCSb_Rayl(int32, double, double) [double, cstring] DCSb_Rayl_CP(cstring, double, double) double EdgeEnergy(int32, int32) double ElectronConfig(int32, int32) double ElementDensity(int32) double FF_Rayl(int32, double) double Fi(int32, double) double Fii(int32, double) double FluorYield(int32, int32) int32 GetErrorMessages int32 GetExitStatus double JumpFactor(int32, int32) double LineEnergy(int32, int32) double MomentTransf(double, double) double RadRate(int32, int32) [double, cstring] Refractive_Index_Im(cstring, double, double) [double, cstring] Refractive_Index_Re(cstring, double, double) double SF_Compt(int32, double) SetErrorMessages(int32) SetExitStatus(int32) SetHardExit(int32) XRayInit

tschoonj commented 8 years ago

I guess this is because the automatic wrapping cannot handle functions that accept or return (pointers to) structs. Probably there is a solution for this but unfortunately I cannot help you as I do not have access to Matlab...

Sorry I cannot be of more help here :disappointed: