SkillAgentSearch skills...

ParticleNetworkDynamics

Dynamics of particle network in composite battery cathodes

Install / Use

/learn @YijinLiu-Lab/ParticleNetworkDynamics
About this skill

Quality Score

0/100

Supported Platforms

Universal

README

Dynamics of particle network in composite battery cathodes

DOI

<img src="images/network.png" width="300" align="right">

This repository contains the source codes for the study of active particle-network evolution in Ni-rich LiNi<sub>0.8</sub>Mn<sub>0.1</sub>Co<sub>0.1</sub>O<sub>2</sub> (NMC) composite battery cathodes, as described in the following paper:

@journal{li2022networkevolution,
  title={Dynamics of particle network in composite battery cathodes},
  author={Li, Jizhou and Sharma, Nikhil and Jiang, Zhisen and Yang, Yang and Monaco, Federico and Xu, Zhengrui and Hou, Dong and Ratner, Daniel and Pianetta, Piero and Cloetens, Peter and Lin, Feng and Zhao, Kejie and Liu, Yijin},
  year={2022},
  journal={Science}
}

Background & Key Contributions

  • Improving composite battery electrodes requires a delicate control of active materials and electrode formulation. The dynamics of active particles have significant impacts but is rarely studied.
  • A <ins>network evolution model</ins> is formulated to interpret the regulation and equilibration between electrochemical activity and mechanical damage of active particles.
  • Through statistically analyzing thousands of NMC particles, we found that the local network heterogeneity results in <ins>asynchronous activities in the early cycles</ins>, and <ins>later the particle assemblies move toward a synchronous behavior</ins>.
  • Our study pinpoints the chemomechanical behavior of individual particles and enables better designs of the conductive network to optimize the utility of all the particles during operation.

Imaging technique

The nano-resolution X-ray phase contrast tomography at the ID16A-NI nanoimaging beamline at the European Synchrotron Radiation Facility was used to image multi-layer of NMC particles. With high spatial resolution, exceptional contrast, and a large field of view, the 3D imaging data covers a large number of active particles that demonstrate a wide variety of damage patterns.

<p align = "center"><img src="images/nano-hono-tomography.png" width="600" align="center"> </p><p align = "center"> Fig.1. 3D microstructure of the composite battery cathode [<a href="https://doi.org/10.1038/s41467-020-16233-5">10.1038/s41467-020-16233-5</a>]. </p>

Theoretical modeling

The source codes are available from the corresponding author on reasonable request.

Imaging Data Analysis

Part 1: Morphology-informed Neural Network for Particle Identification

  • This method is based on StarDist, which is designed for the cell detection in optical microscopy, the shape of each NMC particle is modeled as a star-convex polygon.
  • It extends our previous work (based on the Mask R-CNN model) by considering the morphology of NMC particles to improve the identification accuracy.
  • Comparing with the traditional watershed algorithm and our previous method, this method shows significantly improved robustness against the formation of the inner-particle cracks, as well as the distinguishablity of closely located particles.
<p align = "center"><img src="images/particle_identification.png" width="600" align="center"> </p><p align = "left"> Fig.2. Comparison of different particle identification methods. (a) The particles are densely predicted by a U-Net architecture and then selected the final instances via non-maximum suppression (NMS). (b) The trained StarDist network predicts the star-convex-polygons constrained particles and the probability map is used to obtain the final detection result. (c) The detection results by conventional watershed algorithm and the method in <a href="https://doi.org/10.1038/s41467-020-16233-5">Jiang et al., 2020</a>. (d) Zoomed-in region indicated by red rectangle in (b) to amplify the difference among various methods. Notice the distinguish ability between two particles as indicated by the orange arrows. </p>

Installation

This package is compatible with Python 3.7-3.9. Keras and TensorFlow are required.

Compile the package by running the following command under the folder part1_particle_identification.

pip install -v .

Note that Microsoft Visual C++ 14.0 or greater is required to build the wheel.

Alternatively, the package can be directly installed by

pip install stardist

Usage

1. Pre-trained model

We provide the pre-trained model for identifying NMC particles in nano-resolution X-ray phase contrast tomography images.

Here is a quick example of how to use the pre-trained model (example image files are provided here):

# load the model
model = StarDist2D(None, name='LIB100_70nm', basedir='models')

# perform the prediction
labels, details = model.predict_instances(img)
<p align = "center"><img src="images/particles.png" width="600" align="center"> </p><p align = "center"> Fig.3. Particle identification results by the trained model based on StarDist. </p>

See more details in demo_inference.ipynb.

An ImageJ plugin is also provided to apply the trained model on the image, thanks to StarDist. The details of the usage instruction can be found here.

<p align = "center"><img src="images/imagej.gif" width="600" align="center"> </p><p align = "center"> Fig.4. Particle identification by the ImageJ plugin with the pretrained model for nano-resolution X-ray phase contrast tomography images. </p>

More detection results of NMC particles in composite battery cathodes can be found here.

2. Training on your own dataset

Here is a quick example of how to train the model:

# X_trn, Y_trn and X_val, Y_val are the training and validation datasets, respectively.
model.train(X_trn, Y_trn, validation_data=(X_val,Y_val), augmenter=augmenter,epochs=50, steps_per_epoch=100)

See more details in demo_training.ipynb.

The VGG Image Annotator (VIA) is used for the labeling. See this blog for the detailed instruction with an example.

To save the trained model to be used in ImageJ, the package version should be adjusted, do the following:

pip install "tensorflow<2"
pip install "csbdeep[tf1]"
# also install stardist in this example
pip install "stardist[tf1]"

and the python script:

from stardist.models import StarDist2D
model = StarDist2D(None, name='my_model', basedir='.')
model.export_TF()

Part 2: 3D Particle Identification by View Fusion

For challenging cases, some regions may be still missed in single 2D images (e.g. the xy section) due to various factors such as the low contrast and tomography reconstruction artifacts. However, the missing information is often available in other sections, for example the xz and yz views.

This observation motivates us to construct a new intermediate representation of a particle <ins>by fusing labels from different sections</ins>. To elucidate this redundancy, the predicted 2D particle labels from xy,yz and xz sections are averaged together followed by a clustering of pixels that converge to the same fixed points. This procedure ensures that all the particles can be accurately identified and quantified, which was manually inspected and refined.

<p align = "center"><img src="images/fusion.png" width="600" align="center"> </p><p align = "center"> Fig.5. 3D particle identification by view fusion. </p>

The trained models for NMC particle identification from different views can be found here. The trained models over all views should also be reasonably good for each seperated view.

The probability maps obtained from different views are then fused and followed by kmeans clustering for obtaining the 3D labeling. See viewFusion.m for details.

Alternatively, the linking of labels at different slices can be performed by hungarian algorithm. A fast implementation to link labels at different slices reduce the label number and may improve the fusion performance.

[target_indices , ~, ~] = hungarianlinker(source, target, max_linking_distance);

If a reasonably large 3D training dataset is available, the 3D StarDist is recommended.

Part 3: Feature Extraction for NMC Particles

Given the identified 3D NMC particles, we extract their structural, chemical, and morphological characteristics. More specifically, we divide the particle attributes into four different groups: position, chemical properties, particle structure, and local morphology for furture analysis.

allfeatures = getAllFeatures(Data, Seg, pixelsize);
<p align = "center"><img src="images/features.png" w

Related Skills

View on GitHub
GitHub Stars10
CategoryDevelopment
Updated27d ago
Forks2

Languages

Jupyter Notebook

Security Score

90/100

Audited on Mar 3, 2026

No findings