Giter VIP home page Giter VIP logo

spectrofrog's Introduction

spectroFROG

Artificial neural network (ANN) is used to classify frequency resolved optical gating (FROG) spectrograms based on the phase of the corresponding pulse.

Generally, ultrafast spectroscopy requires a short pulse. When the different frequencies that consitute the pulse grow out of phase, the pulse grows longer and the time resolution of the spectroscopic measurement becomes longer. The pulse can be represented in the time domain or the frequency domain. The time domain shows us how short the pulse is and the frequency domain shows us if the different frequencies are in phase. A short, compressed pulse is shown below:

alt text

while an un-compressed pulse is shown here:

alt text

The pulse compression procedure consists of manipulating the phase of the uncompressed pulse until it resembles a compressed pulse. This can be achieved with a pulse shaper, such as an acousto-optic programmable dispserive filter (AOPDF). An AOPDF can apply a phase mask to correct the phase of an un-compressed pulse. The Dazzler AOPDF, by Fastlite, applies a fourth-order polynomial to the pulse phase. One then desirese to know what fourth-order polynomial best compresses a given pulse.

Frequency resolved optical gating (FROG) is a pulse characterization method that generates a spectrogram (x-axis: time, y-axis: frequency) that is defined by a given input pulse. The FROG corresponding a compressed pulse appears vertical, as there is no relative delay between frequencies:

alt text

However, the FROG from the un-compressed pulse is broader and has a characteristic shape that is defined by its spectral frequency:

alt text

The code provided in spectroFROG uses a 2D convolutional neural network to conduct multi-label regression on FROG spectrograms and returns three labels, each normalized from -1 to 1. The three labels correspond to the second-, third- and fourth-order polynomial coefficients of the spectral phase of the input pulse.

alt text

The neural network can then provide three polynomial phase labels for a FROG trace corresponding to an unkown pulse.

alt text

The model training converges to an accuracy of 94% after 20 epochs:

alt text

spectrofrog's People

Contributors

pbrosseau avatar

Stargazers

Weizhi Lv avatar  avatar

Watchers

 avatar Weizhi Lv avatar

Forkers

hungrykonata

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.