Re: [Ifeffit] Pseudo Voigt crash Athena

2019-05-02 Thread Ravel, Bruce
On 05/01/2019 10:57 PM, Matt Newville wrote:
> Larch (and the lmfit library it uses) and the XAS Viewer GUI are all 
> supported. Peak-fitting of XANES is one feature which I am confident to 
> say is definitely better than Athena. I'm willing to take 100% of the 
> blame for this, but peak-fitting does not work well in Athena.

That's not necessary, Matt.  I have said before on this mailing list and 
elsewhere that peak fitting is a very weak part of Athena.  While it is 
true that Ifeffit's capabilities in this area were limited, Athena's 
implementation was poor.

I completely agree that XAS Viewer would be a better choice for this task.

B

-- 
  Bruce Ravel   bra...@bnl.gov

  National Institute of Standards and Technology
  Synchrotron Science Group at NSLS-II
  Lead Beamline Scientist, 6BM (BMM)
  Building 743, Room 114
  Upton NY, 11973

  Homepage:http://bruceravel.github.io/home/
  Beamline:https://www.bnl.gov/ps/beamlines/beamline.php?r=6-BM
  Software:https://github.com/bruceravel
  Demeter: http://bruceravel.github.io/demeter/

___
Ifeffit mailing list
Ifeffit@millenia.cars.aps.anl.gov
http://millenia.cars.aps.anl.gov/mailman/listinfo/ifeffit
Unsubscribe: http://millenia.cars.aps.anl.gov/mailman/options/ifeffit


Re: [Ifeffit] Pseudo Voigt crash Athena

2019-05-02 Thread Lawley Craig Richard (PSI)
Dear Matt,

I will take the time to look into this. I saw the previous thread from yourself 
with the link to the installer and relative information etc.

Many thanks.
Best regards,
Craig

__
Paul Scherrer Institut
Craig Lawley
OFLB/U109
Forschungsstrasse 111
5232 Villigen PSI
Schweiz


Telefon: +41 56 310 5054
E-Mail: craig.law...@psi.ch<mailto:craig.law...@psi.ch>
www.psi.ch<http://www.psi.ch/>

From: Ifeffit [mailto:ifeffit-boun...@millenia.cars.aps.anl.gov] On Behalf Of 
Matt Newville
Sent: Donnerstag, 2. Mai 2019 04:58
To: XAFS Analysis using Ifeffit
Subject: Re: [Ifeffit] Pseudo Voigt crash Athena

Hi Craig,

On Wed, May 1, 2019 at 10:51 AM Lawley Craig Richard (PSI) 
mailto:craig.law...@psi.ch>> wrote:
Dear Mailing list,

I have run into an issue with the peak fitting section included in Athena. If I 
include a peak that is a Pseudo-Voigt and then save the project file. Upon 
trying to reopen the same project file, Athena becomes non responsive with the 
error message “PV is not yet implemented”.

This may sound like a broken record, but I strongly encourage you to try Larch 
and the XAS Viewer application for peak fitting of XAS spectra.  The ifeffit 
library is really old (has not been updated in 5 years), not supported, and its 
interface to peak fitting is primitive.

Larch (and the lmfit library it uses) and the XAS Viewer GUI are all supported. 
Peak-fitting of XANES is one feature which I am confident to say is definitely 
better than Athena. I'm willing to take 100% of the blame for this, but 
peak-fitting does not work well in Athena. XAS Viewer has more lineshapes 
including both PseudoVoigt and (true!) Voigt lineshape functions.  It also 
supports better mechanisms for applying mathematical constraints and for 
applying bounds on parameters which can be important for modeling XANES with 
multiple peaks.lmfit/Larch also provides more and better fit statistics, 
such as reporting FWHM (and its uncertainty) for each peak, and (for XANES) the 
centroid of the pre-edge peaks.  Though not supported directly in the GUI, 
lmfit/Larch does allow one to do a more thorough estimate of uncertainties and 
to use minimization methods other than Levenberg-Marquardt.  My experience is 
that these seem to be not so important for peak-fitting of XANES data, but I 
don't know that this is always the case (and to be clear, there are certain 
classes of "line shape fitting" where these are important).  Like Athena, XAS 
Viewer records all the code actually run making it easy to turn a GUI session 
into a Larch script or Python program to do more detailed analysis or to help 
write analysis scripts for batch processing.

Hope that helps,

--Matt

___
Ifeffit mailing list
Ifeffit@millenia.cars.aps.anl.gov
http://millenia.cars.aps.anl.gov/mailman/listinfo/ifeffit
Unsubscribe: http://millenia.cars.aps.anl.gov/mailman/options/ifeffit


Re: [Ifeffit] Pseudo Voigt crash Athena

2019-05-01 Thread Matt Newville
Hi Craig,

On Wed, May 1, 2019 at 10:51 AM Lawley Craig Richard (PSI) <
craig.law...@psi.ch> wrote:

> Dear Mailing list,
>
>
>
> I have run into an issue with the peak fitting section included in Athena.
> If I include a peak that is a Pseudo-Voigt and then save the project file.
> Upon trying to reopen the same project file, Athena becomes non responsive
> with the error message “PV is not yet implemented”.
>

This may sound like a broken record, but I strongly encourage you to try
Larch and the XAS Viewer application for peak fitting of XAS spectra.  The
ifeffit library is really old (has not been updated in 5 years), not
supported, and its interface to peak fitting is primitive.

Larch (and the lmfit library it uses) and the XAS Viewer GUI are all
supported. Peak-fitting of XANES is one feature which I am confident to say
is definitely better than Athena. I'm willing to take 100% of the blame for
this, but peak-fitting does not work well in Athena. XAS Viewer has more
lineshapes including both PseudoVoigt and (true!) Voigt lineshape
functions.  It also supports better mechanisms for applying mathematical
constraints and for applying bounds on parameters which can be important
for modeling XANES with multiple peaks.lmfit/Larch also provides more
and better fit statistics, such as reporting FWHM (and its uncertainty) for
each peak, and (for XANES) the centroid of the pre-edge peaks.  Though not
supported directly in the GUI, lmfit/Larch does allow one to do a more
thorough estimate of uncertainties and to use minimization methods other
than Levenberg-Marquardt.  My experience is that these seem to be not so
important for peak-fitting of XANES data, but I don't know that this is
always the case (and to be clear, there are certain classes of "line shape
fitting" where these are important).  Like Athena, XAS Viewer records all
the code actually run making it easy to turn a GUI session into a Larch
script or Python program to do more detailed analysis or to help write
analysis scripts for batch processing.

Hope that helps,

--Matt
___
Ifeffit mailing list
Ifeffit@millenia.cars.aps.anl.gov
http://millenia.cars.aps.anl.gov/mailman/listinfo/ifeffit
Unsubscribe: http://millenia.cars.aps.anl.gov/mailman/options/ifeffit


[Ifeffit] Pseudo Voigt crash Athena

2019-05-01 Thread Lawley Craig Richard (PSI)
Dear Mailing list,

I have run into an issue with the peak fitting section included in Athena. If I 
include a peak that is a Pseudo-Voigt and then save the project file. Upon 
trying to reopen the same project file, Athena becomes non responsive with the 
error message "PV is not yet implemented".

The log file for the crash is as follows:

Started at 2019-05-01T17:37:06
Win7Enterprise (64-bit) Service Pack 1  Service Pack 16176012102561

PATH is:
   
C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Users\lawley_c\AppData\Roaming\DemeterPerl\c\bin;C:\Users\lawley_c\AppData\Roaming\DemeterPerl\perl\site\bin;C:\Users\lawley_c\AppData\Roaming\DemeterPerl\perl\bin;C:\Users\lawley_c\AppData\Roaming\DemeterPerl\c\bin\gnuplot\bin
DEMETER_BASE is:
   C:\Users\lawley_c\AppData\Roaming\DemeterPerl
IFEFFIT_DIR is:
   C:\Users\lawley_c\AppData\Roaming\DemeterPerl\c\share\ifeffit\

perl version: v5.24.0
backend: ifeffit

@INC:
   
C:/Users/lawley_c/AppData/Roaming/DemeterPerl/perl/site/lib/MSWin32-x64-multi-thread
   C:/Users/lawley_c/AppData/Roaming/DemeterPerl/perl/site/lib
   C:/Users/lawley_c/AppData/Roaming/DemeterPerl/perl/vendor/lib
   C:/Users/lawley_c/AppData/Roaming/DemeterPerl/perl/lib
   .
Demeter version 0.9.26

Can't call method "SetValue" on an undefined value at 
C:/Users/lawley_c/AppData/Roaming/DemeterPerl/perl/site/lib/Demeter/UI/Athena/PeakFit.pm
 line 916.


Where lines 910-920 in the PeakFit.pm file readout as:

910   if ($result == wxID_NO) {
911   $::app->{main}->status("Not deleting lineshape.");
912   return 0;
913   };
914   ## demolish the LineShape object, if it exists
915   $this->{'lineshape'.$n}->DEMOLISH if exists $this->{'lineshape'.$n};
916   ## dig through the hierarchy of the StaticBox and Remove/Destroy each 
element
917   foreach my $s ($this->{'func'.$n}->GetChildren) {
918foreach my $w ($s->GetSizer->GetChildren) {
919$w->GetWindow->Destroy if defined($w->GetWindow);

I couldnt find any previous thread regarding this issue. If anyone knows a 
solution or could link me to a pre existing thread I would much appreciate it.

Thanks in advance
Craig

___
Paul Scherrer Institut
Craig Lawley
OFLB/U109
Forschungsstrasse 111
5232 Villigen PSI
Schweiz


Telefon: +41 56 310 5054
E-Mail: craig.law...@psi.ch
www.psi.ch

___
Ifeffit mailing list
Ifeffit@millenia.cars.aps.anl.gov
http://millenia.cars.aps.anl.gov/mailman/listinfo/ifeffit
Unsubscribe: http://millenia.cars.aps.anl.gov/mailman/options/ifeffit