The image shows coronal loops—structures of hot plasma trapped by the Sun’s magnetic fields in the corona. These loops form above intense magnetic regions, often near sunspots, where magnetic field lines emerge from and re-enter the Sun’s surface. They can stretch tens to hundreds of thousands of kilometers, dwarfing Earth in size. Coronal loops are crucial for studying solar activity and understanding why the corona is far hotter than the Sun’s surface.
This post is about making video of a stunning coronal mass ejection NOV 7, 2024 captured by SDO AIA 171. Big thanks to Jeffrey Bryant for the help with this post.
The Solar Dynamics Observatory (SDO), launched by NASA in 2010, studies the Sun’s impact on Earth and space. Its Atmospheric Imaging Assembly (AIA) provides high-resolution, 4096 x 4096-pixel images in multiple wavelengths, including the 171 Ångström band, which reveals coronal structures and solar dynamics at about 600,000 Kelvin. In a geosynchronous orbit with a 28.5° inclination at approximately 35,789 km from Earth, SDO maintains continuous solar observation, essential for analyzing solar flares, coronal mass ejections, and magnetic fields. SDO’s discoveries include high-speed solar plasma “tornadoes” and insights into solar-comet interactions, like Comet Lovejoy’s survival near the Sun. Its data, approximately 1.4 terabytes daily, reveals plasma flows linked to sunspot patterns, advancing our understanding of solar dynamics and their effects on space weather.
Set date range for time stamps at which you’d like to download photos captured by SDO AIA 171:
In[]:=
dr=DateRange[DateObject[{2024,11,7,2,0,0},TimeZone->0],DateObject[{2024,11,7,6,45,0},TimeZone->0],Quantity[1,"Minutes"]];dr//Length
Out[]=
286
Using Wolfram Function Repository downland corresponding photos, which will take some time, because images are 4K resolution
In[]:=
ts=[dr,10,ImageSize->4096];//AbsoluteTiming
Out[]=
{890.092,Null}
and are returned time series:
In[]:=
ts
Out[]=
EventSeries
Get the pure images from the time series, which will serve as frames for the video:
In[]:=
frames=Values[ts];
To improve appearance in the video we apply image processing filters to the frames:
◼
Select the key feature (coronal mass ejection) with ImageTake
◼
ImageReflect for natural human viewing
◼
ImageAdjust and Sharpen for higher image quality
In[]:=
framesFL=ParallelMap[Sharpen[ImageAdjust[ImageTake[ImageReflect[#,Top],{750,1750+79},{3050-79,4050}],{.2,.2,1.162}],2]&,frames];//AbsoluteTiming
Out[]=
{127.779,Null}
The resulting frames are still HD at 1080p:
In[]:=
framesFL[[1]]//ImageDimensions
Out[]=
{1080,1080}
Generate first part of the video at higher FrameRate->30
In[]:=
v1=Parallelize@FrameListVideo[framesFL[[;;180]],FrameRate->30];
and slow down for interesting part at FrameRate->15
In[]:=
v2=Parallelize@FrameListVideo[framesFL[[181;;]],FrameRate->15];
Join the videos and we are done:
VideoJoin[v1,v2]
Out[]=
CITE THIS NOTEBOOK
CITE THIS NOTEBOOK
Coronal mass ejection November 7, 2024 captured by Solar Dynamics Observatory AIA 171 satellite
by Vitaliy Kaurov
Wolfram Community, STAFF PICKS, November 12, 2024
https://community.wolfram.com/groups/-/m/t/3318415
by Vitaliy Kaurov
Wolfram Community, STAFF PICKS, November 12, 2024
https://community.wolfram.com/groups/-/m/t/3318415