{"id":19361303,"url":"https://github.com/zmitchell/mhz_utilities","last_synced_at":"2026-06-22T10:31:17.531Z","repository":{"id":134799145,"uuid":"158604529","full_name":"zmitchell/mhz_utilities","owner":"zmitchell","description":"A collection of utilities for interacting with our time-resolved circular dichroism spectrometer","archived":false,"fork":false,"pushed_at":"2018-11-21T21:10:25.000Z","size":20,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-02-24T12:27:58.557Z","etag":null,"topics":["automation","lasers","physics","python","serial"],"latest_commit_sha":null,"homepage":null,"language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/zmitchell.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE-APACHE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2018-11-21T20:49:28.000Z","updated_at":"2018-11-21T21:10:54.000Z","dependencies_parsed_at":null,"dependency_job_id":"09758353-ed05-4978-93f3-a943da826362","html_url":"https://github.com/zmitchell/mhz_utilities","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/zmitchell/mhz_utilities","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zmitchell%2Fmhz_utilities","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zmitchell%2Fmhz_utilities/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zmitchell%2Fmhz_utilities/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zmitchell%2Fmhz_utilities/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/zmitchell","download_url":"https://codeload.github.com/zmitchell/mhz_utilities/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zmitchell%2Fmhz_utilities/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34645681,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-22T02:00:06.391Z","response_time":106,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["automation","lasers","physics","python","serial"],"created_at":"2024-11-10T07:21:53.269Z","updated_at":"2026-06-22T10:31:17.507Z","avatar_url":"https://github.com/zmitchell.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# MHz Utilities\n\nThis is a collection of small utilities for interacting with the various pieces of equipment in the MHz system (a time-resolved circular dichroism spectrometer).\nEverything is currently written in Python, but I suspect most things will be rewritten in Rust for robustness and ease of packaging/deployment.\n\n## Contents\n\nThe `equipment` package contains classes for communicating with different pieces of equipment. This is the list so far:\n\n* `pem.py`: A Hinds photoelastic modulator, used to modulate intensity or polarization depending on the optical elements surrounding it.\n* `zaber_stepper.py`: A Zaber translation stage in the Ti:Sapph oscillator. When used with a slit, this allows you to tune the wavelength of the oscillator.\n* `lia.py`: A Stanford Research Systems SR865A lock-in amplifier. This is crucial to most experiments done with this system.\n* `pump.py`: A Spectra-Physics Millenia eV 5W pump laser. This is mostly here so that I can start warming up the laser before I get to work :)\n\nThe `scripts` directory contains some scripts for very specific purposes:\n\n* `stepper_move.py`: Allows you to move the Zaber translation stage to an absolute position given in steps of the stepper motor. If you have a file calibrating a wavelength to a position, you can specify the desired wavelength and the script will roughly interpolate the position.\n* `stepper_position.py`: This just reads the position of the Zaber translation stage at a single point.\n* `stepper_stream_position.py`: This constantly polls the position of the translation stage so that you can move it by hand and see the position without needing to execute another script.\n* `scan_steady_state_cd.py`: This coordinates the PEM, LIA, and stepper motor to collect a CD spectrum over a range of wavelengths.\n\n## License\n\nLicensed under either of\n\n * Apache License, Version 2.0, ([LICENSE-APACHE](LICENSE-APACHE) or http://www.apache.org/licenses/LICENSE-2.0)\n * MIT license ([LICENSE-MIT](LICENSE-MIT) or http://opensource.org/licenses/MIT)\n\nat your option.\n\n### Contribution\n\nUnless you explicitly state otherwise, any contribution intentionally\nsubmitted for inclusion in the work by you, as defined in the Apache-2.0\nlicense, shall be dual licensed as above, without any additional terms or\nconditions.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fzmitchell%2Fmhz_utilities","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fzmitchell%2Fmhz_utilities","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fzmitchell%2Fmhz_utilities/lists"}