diff --git a/src/external/MuSRFitGUI/musrfit.cgi b/src/external/MuSRFitGUI/musrfit.cgi index 6014502e..66f7e397 100755 --- a/src/external/MuSRFitGUI/musrfit.cgi +++ b/src/external/MuSRFitGUI/musrfit.cgi @@ -48,6 +48,9 @@ $fitplot = "$MUSRFIT FILENAME.msr > $OUTPUT_REAL/FILENAME.out; $MUSRVIEW FILENAME.msr >> $OUTPUT_REAL/FILENAME.out; convert FILENAME\_0.png -crop 590x460+1+50 $OUTPUT_REAL/FILENAME.png; rm -f FILENAME\_0.png"; $dumpascii = "$DUMPASCII FILENAME.msr > $OUTPUT_REAL/FILENAME_ascii.out; /bin/tar -cvzf $OUTPUT_REAL/FILENAME.tgz FILENAME*.dat >> $OUTPUT_REAL/FILENAME_ascii.out; rm -f FILENAME*.dat"; +# TODO: Replace this with a call to $TABLE=MSR::ExportParams +$AllParameters{"Header"}=1; +$TABLE=MSR::ExportParams(\%AllParameters); $msr2dat = "$MSR2DAT < FILENAME.msr > $OUTPUT_REAL/FILENAME_par.dat"; # "Smart" default value of the fit parameters. @@ -103,39 +106,6 @@ my $in = new CGI; -# See which step or command we are coming from -# Step Value Command -# -# -1 CLEAR/START NEW -# 1 Defin Shared -# 2 Initialize parameters -# 3 PLOT -# 4 MIGRAD -# 5 MINOS -# 6 SIMPLEX -####################################################################### -$Step = $in->param("go"); -$FITMINTTYPE = "PLOT"; -if ( $Step eq "PLOT" ) { - $Step = 3; - $FITMINTYPE = $EMPTY; -} -elsif ( $Step eq "MIGRAD" ) { - $Step = 4; - $FITMINTYPE = "MINIMIZE\nMIGRAD\nHESSE"; -} -elsif ( $Step eq "MINOS" ) { - $Step = 5; - $FITMINTYPE = "MIGRAD\nMINOS"; -} -elsif ( $Step eq "SIMPLEX" ) { - $Step = 6; - $FITMINTYPE = "SCAN\nSIMPLEX"; -} -elsif ( $Step eq "Go Back" ) { - $Step = -1; -} - ####################################################################### # Common to all steps # If you are coming from a previous round pass in various parameters @@ -158,6 +128,46 @@ while ( $i <= $N ) { ++$i; } +# See which step or command we are coming from +# Step Value Command +# +# -1 CLEAR/START NEW +# 1 Defin Shared +# 2 Initialize parameters +# 3 PLOT +# 4 MIGRAD +# 5 MINOS +# 6 SIMPLEX +####################################################################### +$Step = $in->param("go"); +$FITMINTTYPE = "PLOT"; +if ( $Step eq "PLOT" ) { + $Step = 3; + $FITMINTYPE = $EMPTY; +} +elsif ( $Step eq "MIGRAD" || $Step eq "FIT") { + $Step = 4; + $FITMINTYPE = "MINIMIZE\nMIGRAD\nHESSE"; +} +elsif ( $Step eq "MINOS" ) { + $Step = 5; + $FITMINTYPE = "MIGRAD\nMINOS"; +} +elsif ( $Step eq "SIMPLEX" ) { + $Step = 6; + $FITMINTYPE = "SCAN\nSIMPLEX"; +} +elsif ( $Step eq "Restart" ) { + $Step = -1; +} + + +if ( $All{"Minimization"} ne "" && $All{"ErrorCalc"} ne "" && $Step ne "PLOT" ) { + $FITMINTYPE = $All{"Minimization"}."\n".$All{"ErrorCalc"}; +} + + + #$TC=$TC."OUT:
".MSR::Test(\%AllParameters); #$tmp="Frq"; #$TC=$TC."Sh_Frq= ".$AllParameters{"Sh_$tmp"}."
"; @@ -242,20 +252,10 @@ elsif ( $Step <= 6 && $Step >= 3 ) { @Paramcomp = @$Paramcomp_ref; if ( $Step == 3 ) { - $ops = "plot"; $cmd = $plotonly; } - elsif ( $Step == 4 ) { + elsif ( $Step <=6 && $Step >= 4 ) { $cmd = $fitplot; - $ops = "migrad"; - } - elsif ( $Step == 5 ) { - $cmd = $fitplot; - $ops = "minos"; - } - elsif ( $Step == 6 ) { - $cmd = $fitplot; - $ops = "simplex"; } # Fit and plot results @@ -730,27 +730,24 @@ $TITLE - + - + - - - - - - - - - - - + @@ -811,6 +808,16 @@ Yi=
Yf=
+ + + + + + + + + + @@ -958,10 +965,10 @@ PASS_ON_HTML_CODE $order $PRUN $Param - - - - + + + + "; } @@ -1068,6 +1075,22 @@ sub PassIn { %BeamSel = ( "$BeamLine", "selected=\"selected\"" ); } + $Minimization = $in->param("Minimization"); + if ( $Minimization eq $EMPTY ) { + %MinSel = ("MIGRAD", "selected=\"selected\"" ); + } + else { + %MinSel = ( "$Minimization", "selected=\"selected\"" ); + } + + $ErrorCalc = $in->param("ErrorCalc"); + if ( $ErrorCalc eq $EMPTY ) { + %ErrSel = ("HESSE", "selected=\"selected\"" ); + } + else { + %ErrSel = ( "$ErrorCalc", "selected=\"selected\"" ); + } + $FitType1 = $in->param("FitType1"); $FitType2 = $in->param("FitType2"); $FitType3 = $in->param("FitType3");