#---------------------------------------------------- # # Fresnel Free Imaging Script # for PicoProbe Instrument # N. J. Zaluzec # Email: Zaluzec@microscopy.com # Version 20240820 # # this is free code to mitigate frensel fringes from the # condensor apeture in CTEM images # See the reference below # for details. # # Reference: # Fresnel Free Imaging Mode (FFIM) for Transmission # Electron Microscopy: A Computationally Mediated Solution # using Spatio-Temporal Functionalization of the Illumination Optics # Ref: Microscopy and Microanalysis, 30 (Suppl 1), 2024, 1634–1638 # # https://doi.org/10.1093/mam/ozae044.806 # # This version is for ThermoFisher Spectra UltraX Instruments #---------------------------------------------------- from autoscript_tem_microscope_client import TemMicroscopeClient from autoscript_tem_microscope_client.structures import * import time import math #print("Starting blank check") microscope = TemMicroscopeClient() microscope.connect("192.168.0.1") # Set get beam size (in meters) beam_size=microscope.optics.beam_diameter print("Current Beam Diameter : " , beam_size) StartingBeamDiameter=beam_size wait_time=0.001 time.sleep(wait_time) factor=1 multiplier=.15 #0.15 is default for jj in range(0,10): # ~ runs for about 10 seconds #for jj in range(0,100000): #runs for a very long time for j in range (1,20): if (factor>0): mfactor=1 + (j)*multiplier/20 if(factor<0): mfactor=1 + (multiplier - (j)*multiplier/20) microscope.optics.beam_diameter=beam_size*(mfactor) print("Iteration, factor, mfactor, Beam Diameter : ",jj, factor, mfactor, microscope.optics.beam_diameter) factor=factor*-1 time.sleep(wait_time) # make sure you restore original Beam diameter. microscope.optics.beam_diameter=StartingBeamDiameter # we are done tell the world print ("Fresnel Free Done")