Skip to content

i30101/CrystalEyes

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

52 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

CrystalEyes

cellpose

version python-versions cellpose-version cellpose-version Licence: MIT issues repo size

A Python app for analyzing microscope images of nano-ice crystal growth using Python and machine learning.

How it works

CrystalEyes uses Python and the Cellpose machine learning library to extract data from images of ice crystal growth. It processes binary Linkam Data Files to extract temperature data and images. These images are analyzed to extract values such as average area, density, and coverage of ice crystals. The GUI, made using Tkinter and Ttk, provides a simple user experience.

Changelog

Version 1.0.0: app rehaul

Version 1.0.0 introduces a new GUI and support for LDF files only. In contrast to versions 0.8.0 and 0.9.0, LDF support enables instant processing of images. You do not have to export images and video files from Linkam manually; the built-in binary parser does that instead.

Warning

Timestamp data is not available for this version. The app will not process timestamps from LDF files. The duration between each frame defaults to one minute.

Version 1.2.0: what's new

This is the latest and fully functional version of CrystalEyes. Previous versions of CrystalEyes are in beta and not optimized for performance or user experience. The features newly added in this version are:

  • Extraction of additional variables (see below for full list)
  • Fixed debugging console
  • Data boxes to quickly view temperature / rate / limit data along with interactive temperature graph
  • Optimized data analysis and computer vision algorithms; average compute time on test machine (see below) ranges from 12-30 seconds, depending on the number of shapes present in a sample

Full Release Schedule

Version Description
v1.2.0 Fully functioning user interface, parser, and analysis modules
v1.0.0 Non-functioning beta testing for new user interface
v0.9.0 Non-functioning beta testing for Linkam Data File parser
v0.8.0 Functioning and OCR-dependent, outdated

Dependencies

Unfortunately, CrystalEyes v1.2.0 has highly specific dependencies. Most critical is Cellpose 3.0.10, as the newer 4.0.6 is too-heavily GPU-reliant and requires Nvidia CUDA due to its larger neural network. The latest version of NumPy supported by Cellpose 3.0.10 is 1.26.4, meaning Python versions 3.9, 3.10, 3.11, or 3.12 are supported.

Caution

Python 3.13 does not support NumPy 1.26. Please be aware of which Python version your system is using, as it may not support this software.

CrystalEyes 1.2.0 was primarily tested on a system with 32 GB RAM with an integrated Intel processor/graphics chip (the graphics card was not used). Expect 1.8-2.5 GB of RAM use during operation; CPU usage will spike for each frame analysis as well.

Microsoft's Redistributable C++ Compiler (often installed through Visual Studio Build Tools) may be required to install NumPy 1.26. If you are unable to download the C++ compiler, consider using an alternate Python interpreter and package manager (such as Miniconda).

Note

Python version 3.10.13 along with NumPy version 1.26.3 were used during testing, along with Miniconda3 as the interpreter.

A full list of

Setup


Usage


List of LDF variables

  • File name
  • Date
  • Frame number
  • Ramp number
  • Temperature
  • Temperature limit
  • Temperature rate
  • Raw images
  • Processed images
  • Processed data

List of analysis variables

  • Raw images
  • Processed images
  • Average areas (px^2)
  • Average areas (um^2)
  • Density (crystals per um^2)
  • Coverage (ratio)

About

CrystalEyes: a machine learning powered ice crystal analysis app

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages