DOI: 10.5281/zenodo.7503391
title: In Situ Photoluminescence Imaging Dataset of Blade-Coated Perovskite Photovoltaics

description: <strong>Content:</strong> The dataset contains time-resolved in situ images acquired during the formation of the perovskite layer which is then built into a perovskite solar cell. The image time series in the dataset encompass the drying and crystallization of the blade-coated perovskite thin-films. An initial exploration of the data presented in the dataset is conducted in the paper <strong>Process Insights into Perovskite Thin-Film Photovoltaics from Machine Learning with In Situ Luminescence Data.</strong> A total of 1,129 solar cells were fabricated using the blade coating deposition method. To monitor the vacuum quenching process of the perovskite layer, a photoluminescence (PL) imaging setup was used to capture four channels of image data. These channels included time series images (2D+t) captured through various spectral filters, with one channel showing reflectance and the other three showing different parts of the PL spectrum. The three PL channels with different spectral transmissions were also used to compute a image time series of spatially resolved PL peak wavelengths. All images were cropped into smaller patches of 65x56 pixels each, which only included the active area of a single solar cell. Different metrics are available as target variables. For each solar cell in the dataset, the photovoltaic performance parameters, namely (1) power conversion efficiency (PCE), (2) open-circuit voltage (<em>V<sub>OC</sub></em>), (3) short-circuit current density (<em>J<sub>SC</sub></em>), and (4) fill factor (FF)), are available (measured backward and forward, as well as the average between forward and backward). Furthermore, information about the perovskite layer thickness of each solar cell’s active area is provided: mean thickness, root-mean-square thickness, and peak-2-valley thickness. Also, additional information like substrate ID and the position of each solar cell within its substrate is provided. All solar cells were fabricated using the same materials, methods, and experimental parameters. As a result, the dataset can be used to apply machine learning techniques to identify variations in the fabrication process between iterations, improve understanding of the process, and predict performance in-line before completing the half-stack into a functional solar cell. Further information on the experimental acquisition procedure can be found in the paper <strong>Process Insights into Perovskite Thin-Film Photovoltaics from Machine Learning with In Situ Luminescence Data</strong>. <strong>Usage:</strong> The dataset is made available as a single hdf5-file. The npy-data can be extracted using the notebook “00_extract_data_from_hdf5_file.ipynb” which is provided in the GitHub repository https://github.com/AI-InSu-Pero/ML-PerovskitePV-InSituLuminescene The structure of the dataset after extraction from the hdf5-file is depicted below. The dataset (1,129 solar cells) is split into two subfolders, containing train (780 solar cells) and test data (349 solar cell), respectively. For training and test data, the corresponding labels are listed in csv files. In the train and test folders, there are subfolders for each of the substrate assigned to either of the two sets. In the substrate folders, the data for all the patches of a substrate is saved in npy-format with the shape (719, 5, 65, 56), representing (time step, channel, image height, image width). It can be loaded using numpy.load(path_to_file). The order of the five channels is as follows: (0) reflectance, (1) entire PL spectrum, (2) filtered PL spectrum – longer wavelengths remaining, (3) filtered PL spectrum – shorter wavelengths remaining, (4) computed peak wavelength of PL spectrum. In the train folder, an additional folder “cv_splits_5fold” gives the train and validation splits for the 5-fold cross-validation used in the dataset exploration paper. For each fold, the labels are given as csv-files for train and validation split. <pre><code>dataset ├── train │ ├── ACA │ │ ├── 11.npy │ │ ├── 12.npy │ │ ├── 13.npy │ │ ├── 14.npy │ │ ├── 21.npy │ │ └── ... (all other patches of this substrate) │ ├── ACA │ │ ├── 11.npy │ │ ├── 12.npy │ │ ├── 13.npy │ │ ├── 14.npy │ │ ├── 21.npy │ │ └── ... (all other patches of this substrate) │ ├── ... (all other train substrates) │ ├── cv_splits_5fold │ │ ├── fold0 │ │ │ ├── train.csv │ │ │ └── val.csv │ │ └── ... (all other folds) │ └─── labels.csv └── test ├── ACE │ ├── 11.npy │ ├── 12.npy │ ├── 13.npy │ ├── 14.npy │ ├── 21.npy │ └── ... (all other patches of this substrate) ├── ... (all other test substrates) └── labels.csv </code></pre>