Skip to content
Snippets Groups Projects

redid the gnuplot animation scripts

Merged Tyson Littenberg requested to merge tyson-littenberg/bayeswave:aesthetics into master
3 files
+ 85
73
Compare changes
  • Side-by-side
  • Inline
Files
3
+ 76
0
@@ -685,6 +685,82 @@ void write_evidence_gnuplot_script(FILE *script, char modelname[])
fprintf(script,"p \"%sevidence.dat\" using 3:xtic(1)\n",modelname);
}
void write_gnuplot_psd_animation(struct Data *data, char modelname[], int frame)
{
int n;
char **ifos = data->ifos;
int nifo = data->NI;
char filename[MAXSTRINGSIZE];
sprintf(filename,"waveforms/%s_bayeswave_animation.gpi", modelname);
FILE *framefile = fopen(filename,"w");
sprintf(filename,"animation/%s_bayeswave_animation.mp4", modelname);
fprintf(framefile,"!mkdir -p animation\n");
fprintf(framefile,"!rm %s\n",filename);
fprintf(framefile,"\n");
fprintf(framefile,"nmax=%i\n",frame);
fprintf(framefile,"nifo=%i\n",nifo);
fprintf(framefile,"xsize=%i\n",1280);
fprintf(framefile,"ysize=%i\n",230);
fprintf(framefile,"rescale=%i\n",4);
fprintf(framefile,"\n");
fprintf(framefile,"set terminal pngcairo fontscale 1.2 size xsize,nifo*ysize\n");
fprintf(framefile,"\n");
fprintf(framefile,"set logscale\n");
fprintf(framefile,"set tics scale 2 nomirror\n");
fprintf(framefile,"set border 3\n");
fprintf(framefile,"unset key\n");
fprintf(framefile,"\n");
fprintf(framefile,"psdmin = 1e-48\n");
fprintf(framefile,"psdmax = 1e-38\n");
fprintf(framefile,"tmin = -0.5\n");
fprintf(framefile,"tmax = 0.5\n");
fprintf(framefile,"hmin = -10\n");
fprintf(framefile,"hmax = 10\n");
fprintf(framefile,"\n");
fprintf(framefile,"do for [N=0:nmax] {\n");
fprintf(framefile," outfile = sprintf(\"animation/bayeswave%%03.0f.png\",N)\n");
fprintf(framefile," set output outfile\n");
fprintf(framefile,"\n");
fprintf(framefile," set multiplot layout nifo,2\n");
fprintf(framefile,"\n");
for(n=0; n<nifo; n++)
{
fprintf(framefile," #%s\n",ifos[n]);
fprintf(framefile," set title '%s'\n",ifos[n]);
fprintf(framefile," set logscale\n");
fprintf(framefile," set format \"10^{%%T}\"\n");
fprintf(framefile," set xlabel 'f'\n");
fprintf(framefile," set ylabel '|h|^2'\n");
fprintf(framefile," plot [*:*] [psdmin:psdmax] '%s_psd_%s_'.N.'.dat' u 1:2 w l lc 'gray', '' u 1:($3+$4) w l lc 'black' lw 2\n", modelname,ifos[n]);
fprintf(framefile,"\n");
fprintf(framefile," unset logscale\n");
fprintf(framefile," set format '%%g'\n");
fprintf(framefile," set xlabel 't'\n");
fprintf(framefile," set ylabel 'h'\n");
fprintf(framefile," plot [tmin:tmax] [hmin:hmax] '%s_data_%s_'.N.'.dat' w l lc 'gray'",modelname,ifos[n]);
if(data->glitchFlag) fprintf(framefile,", '%s_glitch_%s_'.N.'.dat' w l lc rgb '#a6611a' lw 2",modelname,ifos[n]);
if(data->signalFlag) fprintf(framefile,", '%s_wave_%s_'.N.'.dat' w l lc rgb '#7b3294' lw 2",modelname,ifos[n]);
fprintf(framefile,"\n");
fprintf(framefile,"\n");
}
fprintf(framefile,"\n");
fprintf(framefile," unset multiplot\n");
fprintf(framefile,"}\n");
fprintf(framefile,"\n");
fprintf(framefile,"CMD='ffmpeg -r 4 -f image2 -s '.xsize*rescale.'x'.rescale*nifo*ysize.' -start_number 0 -i animation/bayeswave%%03d.png -vframes '.nmax.' -vcodec libx264 -crf 25 -pix_fmt yuv420p %s'\n",filename);
fprintf(framefile,"\n");
fprintf(framefile,"system(CMD)\n");
fprintf(framefile,"\n");
fprintf(framefile,"!rm animation/*.png\n");
fprintf(framefile,"\n");
fclose(framefile);
}
void print_bayesline_spectrum(char filename[], double *f, double *power, double *Sbase, double *Sline, int N)
{
int i;
Loading