Skip to content
Snippets Groups Projects

add start and end timestamp for animation

Merged Vigeesh Gangadharan requested to merge timestamp-animation into develop
1 file
+ 26
11
Compare changes
  • Side-by-side
  • Inline
+ 26
11
@@ -926,7 +926,7 @@ class GrisFigure(Figure):
secax_y.set_ylabel("y (arcsec)")
def create_map(data,header,filename,unit_vmin=0,unit_vmax=1,cmap='Gray',grid='white',cfmt=None,title=None,dpi=100,cticks=None,cbar_title=None,annotate_time=False):
def create_map(data,header,filename,unit_vmin=0,unit_vmax=1,cmap='Gray',grid='white',cfmt=None,title=None,dpi=100,cticks=None,cbar_title=None,annotate_starttime=False,annotate_endtime=False):
"""Create individual maps"""
wcs = WCS(header)
aspect_ratio = data.shape[0] / data.shape[1]
@@ -951,14 +951,14 @@ def create_map(data,header,filename,unit_vmin=0,unit_vmax=1,cmap='Gray',grid='wh
# additonal axis
set_additional_axis(ax, header)
# For now annotate time for single maps
if annotate_time:
# For now annotate time for maps
if annotate_starttime:
start_time = datetime.fromisoformat(header["DATE-BEG"]).strftime("%H:%M:%S")
end_time = datetime.fromisoformat(header["DATE-END"]).strftime("%H:%M:%S")
ax.text(0.0, 1., f'{start_time} |', ha='right', va='center', fontsize=8,
color='gray', transform=ax.transAxes,bbox = dict(facecolor='white', alpha=1.,edgecolor='None',pad=1.))
color='gray', transform=ax.transAxes, bbox=dict(facecolor='white', alpha=1., edgecolor='None', pad=1.))
if annotate_endtime:
end_time = datetime.fromisoformat(header["DATE-END"]).strftime("%H:%M:%S")
ax.text(1.0, 1., f'| {end_time}', ha='left', va='center', fontsize=8,
color='gray', transform=ax.transAxes, bbox=dict(facecolor='white', alpha=1.,edgecolor='None',pad=0.5))
@@ -1023,13 +1023,18 @@ def plot_image(
cticks = None
cfmt = '%3d'
create_map(unit_data[0,...], header, preview, unit_vmin=unit_vmin, unit_vmax=unit_vmax, cmap=cmap, grid=grid, cfmt=cfmt, title=title,cticks=cticks,cbar_title=cbar_title,annotate_time=True)
create_map(unit_data[0,...], header, preview, unit_vmin=unit_vmin, unit_vmax=unit_vmax, cmap=cmap, grid=grid, cfmt=cfmt, title=title,cticks=cticks,cbar_title=cbar_title,annotate_starttime=True,annotate_endtime=True)
else:
# create a temp directory
td = TemporaryDirectory()
for imap in range(header["RMAPS"]):
rmaps = header["RMAPS"]
for imap in tqdm(range(rmaps),
bar_format=termcolors.text
+ "Creating animation {n_fmt}/{total_fmt}: {desc}|{bar:30}|"
+ termcolors.end
+ "{percentage:3.0f}% ({elapsed_s:3.1f}s)"
):
# TODO: Clean this
unit_data, unit_vmin, unit_vmax = convert_units(data,vmin,vmax)
@@ -1052,8 +1057,15 @@ def plot_image(
cfmt = '%3d'
outpath = os.path.join(td.name, f'{imap:03d}_'+preview)
annotate_starttime=False
annotate_endtime=False
if imap==0:
annotate_starttime = True
if imap==header["RMAPS"]-1:
annotate_endtime = True
create_map(unit_data[imap,...], header, outpath, unit_vmin=unit_vmin, unit_vmax=unit_vmax, cmap=cmap, grid=grid, cfmt=cfmt,
title=title+f'_{imap:03d}',cticks=cticks,cbar_title=cbar_title)
title=title+f'_{imap:03d}',cticks=cticks,cbar_title=cbar_title,annotate_starttime=annotate_starttime,annotate_endtime=annotate_endtime)
filelist = glob(os.path.join(td.name, "*"))
@@ -1085,10 +1097,13 @@ def merge_to_gif(filelist, outfile):
command = [
"convert",
"-delay",
f"{delay*2}",
filelist[0],
"-delay",
f"{delay}",
*filelist,
"-loop",
"0",
*filelist,
outfile,
]
subprocess.call(command)
Loading