#!/usr/bin/perl
use Statistics::OLS;
use Math::FFT;
use Math::Stat;
use Math::Spline qw(spline linsearch binsearch);
use Math::Derivative qw(Derivative2);
use Math::Approx;
use Astro::FITS::CFITSIO qw( :longnames :constants );
use PDL;
use PDL::Fit::Polynomial; 
use PDL::Filter::Linear;
use PGPLOT;  # Load PGPLOT module
use PDL::Fit::Gaussian;
use PDL::Slatec;
use PDL::Image2D;
#use PDL::Matrix;


$DIR_DATA="/disk-a/sanchez/ppak/legacy/DATA/V500/reduced_v1.3c/";
#$DIR_DATA="/disk-b/sanchez/ppak/legacy/DATA/V500/reduced_v1.3c/";

$max_size=10;
$frac=0.9;

open(FH,"<ana_seg_HII.old");
while($line=<FH>) {
    chop($line);
    @data=split(" ",$line);
    $nam=$data[$#data];
    #elines_auto_ssp.HII.NGC3614.rss.out
    $cut="elines_auto_ssp.HII.";
    $nam =~ s/$cut//;
    $cut=".rss.out";
    $nam =~ s/$cut//;
    $DONE{$nam}=1;
    print "$nam $DONE{$nam}\n";
}
close(FH);
#exit;

$n=0;
open(DIR,"ls HII.*.rss.fits.gz |");
while($file=<DIR>) {
    chop($file);
    $name=$file;
    $cut=".rss.fits.gz";
    $name =~ s/$cut//;
    $cut="HII.";
    $name =~ s/$cut//;
    $FILE[$n]=$file;
    $NAME[$n]=$name;
    $n++;    
}
close(DIR);

open(LOG,">ana_seg_HII.log");
for ($i=0;$i<$n;$i++) {    
    $nam=$NAME[$i];
    if ($DONE{$nam}!=1) {
	$call="./ana_single_HII.pl ".$NAME[$i];
	mycall($call);
	$do_ftp=0;
	if ($do_ftp==1) {
	    open(FTP,">ftp.input");
	    print FTP "open ftp://mycalifa:myafi07lAc\@ftp.caha.es\n";
	    print FTP "mkdir /TMP/GAS_tests/FIT3D/SEG6_v1.3c/HII/\n";
	    print FTP "cd /TMP/GAS_tests/FIT3D/SEG6_v1.3c/HII/\n";
	    print FTP "mput -f *HII*$NAME[$i]*\n";
	    print FTP "mput -f *map_Ha*$NAME[$i]*\n";
	    print FTP "mput -f *seg*$NAME[$i]*\n";
	    close(FTP);
	    $call="ncftp < ftp.input &";
	    mycall($call);
	}
    } else {
	$call="echo '$nam already done'\n";
	mycall($call);
    }

}
close(LOG);
exit;

sub mycall {                                      
                                                                   my $call=$_[0];

														     print "$call | PROCESSING\n";                                                                                 
    system($call);                                                                                                
    print LOG "$call\n";                                                                                          
    print "DONE\n";                                                                                              
} 
