Towards Online Steering of Flame Spray Pyrolysis Nanoparticle Synthesis
Maksim Levental, Ryan Chard, Joseph A. Libera, Kyle Chard, Aarthi Koripelly, Jakob R. Elias, Marcus Schwarting, Ben Blaiszik, Marius Stan, Santanu Chaudhuri, Ian Foster
TTowards Online Steering of Flame Spray Pyrolysis NanoparticleSynthesis
Maksim Levental
University of Chicago
Ryan Chard
Argonne National Laboratory
Joseph A. Libera
Argonne National Laboratory
Kyle Chard
University of Chicago
Aarthi Koripelly
University of Chicago
Jakob R. Elias
Argonne National Laboratory
Marcus Schwarting
University of Chicago
Ben Blaiszik
University of Chicago
Marius Stan
Argonne National Laboratory
Santanu Chaudhuri
Argonne National Laboratory
Ian Foster
Argonne National Laboratory
ABSTRACT
Flame Spray Pyrolysis (FSP) is a manufacturing technique to massproduce engineered nanoparticles for applications in catalysis, en-ergy materials, composites, and more. FSP instruments are highlydependent on a number of adjustable parameters, including fuelinjection rate, fuel-oxygen mixtures, and temperature, which cangreatly affect the quality, quantity, and properties of the yieldednanoparticles. Optimizing FSP synthesis requires monitoring, an-alyzing, characterizing, and modifying experimental conditions.Here, we propose a hybrid CPU-GPU Difference of Gaussians (DoG)method for characterizing the volume distribution of unburnt solu-tion, so as to enable near-real-time optimization and steering of FSPexperiments. Comparisons against standard implementations showour method to be an order of magnitude more efficient. This surro-gate signal can be deployed as a component of an online end-to-endpipeline that maximizes the synthesis yield.
Flame Spray Pyrolysis (FSP) is used to manufacture nanomaterialsemployed in the production of various industrial materials. A FSPinstrument rapidly produces nanoparticle precursors by combust-ing liquid dissolved in an organic solvent. Optical and spectrometryinstrumentation can be used in a FSP experiment to monitor bothflame and products. This provides insight into the current state andstability of the flame, quantity of fuel successfully combusted, andquantity and quality of materials produced. To avoid fuel wastageand to maximize outputs, data must not only be collected but alsoanalyzed and acted upon continuously during an experiment.A key technique for monitoring and determining a FSP exper-imentβs effectiveness is quantifying and classifying the fuel thatis not successfully combusted. Planar Laser-Induced Fluoroscopy(PLIF) and optical imagery of the flame can be used to make in-formed decisions about an experiment and guide the fuel mixtures,fuel-oxygen rates, and various pressures. Fuel wastage can be ap-proximated by detecting and quantifying the droplets of fuel thathave not been successfully aerosolized (thus, uncombusted). Blobdetection algorithms provide an effective means for both detect-ing fuel droplets and determining their sizes. Blob detection is theidentification and characterization of regions in an image that are
PLIF Images
Flame SprayPyrolysis
Updated Parameters
BayesianOptimizerDifference ofGaussians
Blob Distribution
Figure 1: End-to-end system for optimizing FSP synthesis. distinct from adjacent regions and for which certain properties areeither constant or approximately constant. Note, however, that thevolume and rate of the data generated by FSP instruments requiresboth automation and high-performance computing (HPC); the pri-mary latency constraint is imposed by the collection frequency ofthe imaging sensor (ranging from 10Hz-100Hz).Argonne National Laboratoryβs Combustion Synthesis ResearchFacility (CSRF) operates a FSP experiment that produces silica,metallic, oxide and alloy powders or particulate films. However,standard processing methods on CPUs far exceeds FSP edge com-puting capacity, i.e. performing image analysis on the FSP deviceis infeasible. To address this need for rapid, online analysis wepresent a hybrid CPU-GPU method to rapidly evaluate the volumedistribution of unburnt fuel.Surrogate models can be employed to steer experiments by pro-ducing an inference for a quantity of interest faster than physicalmeasurements [16]. In particular, machine learning surrogate mod-els have been used in materials science, with varying degrees ofsuccess [7]. Here we aim to drive a Bayesian hyper-parameter op-timizer (BO) that optimizes the various parameters of CSRFβs FSPexperiment. The combination of FSP, our technique, and the BO,define an "end-to-end" system for optimizing FSP synthesis (seefigure 1). We integrate our solution into the Manufacturing Dataand Machine Learning platform [5], enabling near-real-time opti-mization and steering of FSP experiments through online analysis.The remainder of this paper is as follows: Section 2 discussesthe materials science of FSP, Section 3 discusses blob detectionand derives some important mathematical relationships, Section4 covers practical considerations and our improvements to blob a r X i v : . [ c s . C V ] O c t aksim Levental, Ryan Chard, Joseph A. Libera, Kyle Chard, Aarthi Koripelly, Jakob R. Elias, Marcus Schwarting, Ben Blaiszik, Marius Stan, Santanu Chaudhuri, and Ian Foster detection, Section 5 compares our improved algorithms againststandard implementations, Section 6 discusses related work, andSection 7 concludes. Flame aerosol synthesis (FAS) is the formation of fine particles fromflame gases [20]. Pyrolysis (also thermolysis) is the separation ofmaterials at elevated temperatures in an inert environment (thatis, without oxidation). Flame Spray Pyrolysis (FSP) is a type ofFAS where the precursor for the combustion reaction is a highheat of combustion liquid dissolved in an organic solvent [21] ( seeFigure 2). An early example of industrial manufacturing employingFSP was in the production of carbon black, used, for example, as apigment and a reinforcing material in rubber products.
Figure 2: Schematic of the flame spray pyrolysis system andthe particle formation process. Reprinted from [12].
Optimizing FSP reaction yield is challenging; there are manyinstrument parameters (sheath O , pilot CH and solution flowrates, solute concentration, and air gap) and salient physical mea-surements often have low resolution in time. Reaction yield canbe inferred from the FSP droplet size distribution, with smallerdroplets implying a more complete combustion. Unfortunately, thecharacterization of droplet distribution via, for example, ScanningMobility Particle Sizer Spectrometry (SMPSS) has an analysis periodof roughly ten seconds [10], while other measurement techniques,such as Raman spectroscopy, require even longer collection periods. These measurement latencies prevent the use of such characteriza-tion techniques for adaptive control of the experiment and henceoptimization of experiment parameters.In this work, droplet imaging is performed by using a iSTARsCMOS camera oriented perpendicular to a 285nm laser light sheetthat bisects the flame along its cylindrical axis. Imagery is collectedat 10Hz, with each image capturing the droplet distribution froma 10ns exposure due to the laser pulse. The images are formedby Mie scattering from the surfaces of the spherical droplets (seeFigure 3). The image size is not calibrated to droplet size, and so weuse relative size information to assess the atomization efficiency ofthe FSP. Figure 3: FSP imagery and droplet detected by using ourmethod. Note that in areas of high-turbulence (e.g. directlyin front of the nozzle) overlapping droplets are extremelydifficult to detect.
Blob detectors operate on scale-space representations [15]; definethe scale-space representation πΏ ( π₯, π¦, π ) of an image πΌ ( π₯, π¦ ) to bethe convolution of that image with a mean zero Gaussian kernel π ( π₯, π¦, π ) , i.e.: πΏ ( π₯, π¦, π ) (cid:66) π ( π₯, π¦, π ) β πΌ ( π₯, π¦ ) , where π is the standard deviation of the Gaussian and determinesthe scale of πΏ ( π₯, π¦, π ) . Scale-space blob detectors are also parame-terized by the scale π , such that their response is extremal whensimultaneously in the vicinity of blobs and when β π = π corre-sponds closely to the characteristic radius of the blob. In particular,they are locally extremal in space and globally extremal in scale,since at any given scale there might be many blobs in an image buteach blob has a particular scale. Conventionally, scale-space blobdetectors are strongly positive for dark blobs on light backgroundsand strongly negative for bright blobs on dark backgrounds. Twosuch operators are: owards Online Steering of Flame Spray Pyrolysis Nanoparticle Synthesis β’ Scale-normalized trace of the Hessian :trace ( π»πΏ ) (cid:66) π (cid:18) π πΏππ₯ + π πΏππ¦ (cid:19) Equivalently trace ( π»πΏ ) (cid:66) π Ξ πΏ , where Ξ is the Laplacian. β’ Scale-normalized Determinant of Hessian (DoH):det ( π»πΏ ) (cid:66) π (cid:32) π ππ₯ π πΏππ¦ β (cid:18) π πΏππ₯ππ¦ (cid:19) (cid:33) Note that by the associativity of convolution, π Ξ πΏ = π Ξ ( π β πΌ ) = (cid:16) π Ξ π (cid:17) β πΌ Consequently, π Ξ π is called the scale-normalized Laplacian of Gaus-sians (LoG) operator/blob detector.DoH and LoG are both nonlinear (due to dependence on deriva-tives) and compute intensive (directly a function of the dimensionsof the image), but in fact LoG can be approximated. Since π is theGreenβs function for the heat equation: π Ξ π = ππππ β π ( π₯, π¦, π + πΏπ ) β π ( π₯, π¦, π ) πΏπ Hence, we see that for small, fixed, πΏππ Ξ π β π Γ [ π ( π₯, π¦, π + πΏπ ) β π ( π₯, π¦, π )] up to a constant. This approximation is called the Difference ofGaussians (DoG). In practice, one chooses π standard deviationssuch that the π π densely sample the range of possible blob radii,through the relation β π π = π π . For example, Figure 4 schematicallydemonstrates the response of a DoG detector that is responsive toapproximately 40 blob radii, applied to three blobs.While LoG is the most accurate detector, it is also slowest as itrequires numerical approximations to second derivatives across theentire image. In practice, this amounts to convolving the image withsecond order edge filters , which have large sizes and thereby incura large number of multiplyβaccumulate (MAC) operations. DoG,being an approximation, is faster than LoG, with similar accuracy.Hence, here we focus on LoG and derivations thereof. We abstractly describe a standard implementation of a blob detectorthat employs DoG operators, and then discuss optimizations.A first, optional, step is to preprocess the images; a sample im-age (one for which we wish to detect blobs) is smoothed and thencontrast stretched (with 0.35% saturation) to the range [ , ] . Thispreprocessing is primarily to make thresholding more robust (nec-essary for us because our imaging system has dynamic range andnormalizes anew for every collection). Since DoG is an approxi-mation of LoG, a sample image is first filtered by a set of meanzero Gaussian kernels { π ( π₯, π¦, π π )} in order to produce the set ofscale-space representations { πΏ ( π₯, π¦, π π )} . The quantity and standarddeviations of these kernels is determined by three hyperparameters: β’ n_bin β one less than the number of Gaussian kernels. Thishyperparameter ultimately determines how many differentradii the detector can recognize. 0 20 40 60 80 100 120 140 160 180 200020406080100120140160180200 (a) Blobs at different scales π r e s p o n s e m a g n i t u d e (b) Convolution kernel magnitude responses for different scale π values. Plot colors correspond to blob colors. Figure 4: Scale-space blob detectors. Each response is mea-sured at the center of the corresponding blob; notice thatmagnitude responses are maximal at π = π /β correspond-ing to the radius of detected blob. β’ min_sigma β proportional to the minimum blob radius rec-ognized by the detector. β’ max_sigma β proportional to the maximum blob radius rec-ognized by the detector.Therefore, define πΏπ (cid:66) ( max _ sigma β min _ sigma )/ n _ bin and π π (cid:66) min _ sigma + ( π β ) Γ πΏπ (1) aksim Levental, Ryan Chard, Joseph A. Libera, Kyle Chard, Aarthi Koripelly, Jakob R. Elias, Marcus Schwarting, Ben Blaiszik, Marius Stan, Santanu Chaudhuri, and Ian Foster for π = , . . . , ( n _ bin + ) . This produces an arithmetic progression ofkernel standard deviations such that π = min _ sigma and π n _ bin = max _ sigma . Once an image has been filtered by the set of meanzero Gaussian kernels, we take adjacent pairwise differences Ξ πΏ π (cid:66) πΏ ( π₯, π¦, π π + ) β πΏ ( π₯, π¦, π π ) (2)for π = , . . . , n _ bin , and defineDoG ( π₯, π¦, π π ) (cid:66) π π Γ Ξ πΏ π (3)We then search for local maxima {( Λ π₯ π , Λ π¦ π , Λ π π )} (cid:66) argmaxlocal π₯,π¦,π π DoG ( π₯, π¦, π π ) Such local maxima can be computed in various ways (for example,zero crossings of numerically computed derivatives) and completelycharacterize circular blob candidates with centers ( Λ π₯ π , Λ π¦ π ) and radiiΛ π π = β π π . Finally blobs that overlap in excess of some predeter-mined, normalized, threshold can be pruned or coalesced. Uponcompletion, the collection of blob coordinates and radii {( Λ π₯ π , Λ π¦ π , Λ π π )} can be transformed further (for example, histogramming to producea volume distribution).An immediate, algorithmic, optimization is with respect to detect-ing extrema. We use a simple heuristic to identify local extrema: forsmooth functions, values that are equal to the extremum in a fixedneighborhood are in fact extrema. We implement this heuristic byapplying an π Γ π maximum filter Max ( π, π ) (where π correspondsto the neighborhood scale), to the data and comparing:argmaxlocal π₯,π¦ πΌ β‘ { π₯, π¦ |( Max ( π, π ) β πΌ β πΌ ) = } Second, note that since DoG ( π₯, π¦, π π ) , in principle, is extremal forexactly one π π (that which corresponds to the blob radius) we haveargmaxlocal π₯,π¦,π π DoG ( π₯, π¦, π π ) = argmaxlocal π₯,π¦ argmax π π DoG ( π₯, π¦, π π ) Thus, we can identify local maxima of DoG ( π₯, π¦, π π ) by the afore-mentioned heuristic, by applying a 3D maximum filter to the collec-tion Max ( π, π, π ) to { DoG ( π₯, π¦, π π )} . Typically, neighborhood sizeis set to three. This has the twofold effect of comparing scaleswith only immediately adjacent neighboring scales and setting theminimum blob proximity to two pixels.Further optimizations are implementation dependent. A refer-ence sequential (CPU) implementation of the DoG blob detector isavailable in the popular Python image processing package scikit-image [24]. For our use case, near real-time optimization, this refer-ence implementation was not performant for dense volume distribu-tions (see Section 5). Thus, we developed a de novo implementation;the happily parallel structure of the algorithm naturally suggestsitself to GPU implementation. We use the PyTorch [17] package due its GPU primitives and er-gonomic interface. Our code and documentation are available [14].As we use PyTorch only for its GPU primitives, rather than formodel training, our implementation consists of three units withβfrozenβ weights and a blob pruning subroutine.We adopt the PyTorch C out Γ H Γ W convention for convolu-tion kernels and restrict ourselves to grayscale images. Hence, thefirst unit in our architecture is a (n_bin+1) Γ max_width Γ max_width
2D convolution, where max_width is proportional tothe maximum sigma of the Gaussians (discussed presently). Notethat the discretization mesh for these kernels must be large enoughto sample far into the tails of the Gaussians. To this end, we pa-rameterize this sampling radius π as radius π (cid:66) truncate Γ π π and set truncate = width π (cid:66) Γ radius π + width π = max _ width (cid:66) max π { width π } The second unit is essentially a linear layer that performs theadjacent differencing and scaling discussed in Section 4. The maxi-mum filtering heuristic is implemented using a 3 Γ Γ .
1) are rejectedThresh ( π₯, π¦, π ) (cid:66) (cid:40) ( MaxPool3D β π· β π· = ) (cid:211) ( π· > . ) π· (cid:66) π· ( π₯, π¦, π ) . Once true blobs are identified, overlappingblobs can be pruned according to an overlap criterion; pruningproceeds by finding pairwise intersections amongst blobs and coa-lescing blobs (by averaging the radius) whose normalized overlapexceeds a threshold (by default 0 . { Λ π π } . Currently pruning and histogram-ming are both performed on the CPU but could be moved to theGPU as well [11, 19].Surprisingly, for the naive PyTorch implementation of DoG thereis a strong dependence on max_sigma . This turns out to be due tohow convolutions are implemented in PyTorch. Further refiningthe GPU implementation by implementing FFT convolutions sac-rifices (slightly) independence with respect to n_bin , but rendersthe detector constant with respect to max_sigma and dramaticallyimproves performance (see Section 5). We compare our GPU implementation of DoG against the stan-dard implementation found in scikit-image. Our test platform isdescribed in Table 1. Both detectors were tested on simulated datagenerated by a process that emulates the FSP experiment; a graph-ics rendering engine renders 100 spheres and then Poisson andGaussian noise [3] is added to the rendered image. The images havea resolution of 1000 Γ β . Γ β , . Γ β and standard deviations 4 . Γ β , . Γ β respectively. This owards Online Steering of Flame Spray Pyrolysis Nanoparticle Synthesis Table 1: Test platform
CPU Intel Xeon Gold 6230 CPU @ 2.10GHzGPU Tesla V100-PCIE-16GBHD HPE 800GB SAS 12G Mixed Use SFFRAM 384GBSoftware scikit-image-0.16.2, PyTorch-1.5.0, CUDA-10.2,NVIDIA-440.33.01
Table 2: Various times of merit
Host-GPU copy 100 π sβ200 π sDisk I/O βΌ βΌ βΌ n_bin (i.e.the number of Gaussian filters) owing to the inherent parallelism ofGPU compute (see Figure 5) while the CPU implementation scaleslinearly in n_bin (owing to the sequential nature of execution onthe CPU). We see a discontinuous increase in runtime for the stan-dard GPU implementation at n _ bin =
32 due to CUDAβs internaloptimizerβs choice of convolution strategy; setting a fixed strategyis currently not exposed by the CUDA API. Naturally, both imple-mentations scale linearly in the max_sigma (i.e. the widths of theGaussian filters). On the other hand, CPU as compared with our be-spoke FFT convolution implementation is even more encouraging;FFT convolutions make the GPU implementation even faster. Theyare weakly dependent (approximately log-linear) on n_bin but con-stant with respect to max_sigma (see Figure 6). In fact, we see thatfor max _ sigma > n _ bin >
10 it already makes sense to useFFT convolution instead of the standard PyTorch convolution.Some discussion of I/O and Host-GPU and GPU-Host copy iswarranted (see Table 2). Our measurements show that for 1000 Γ π sβ200 π s, depending on whether or not we copy from page-locked memory(by setting pin_memory=True in various places). This Host-GPUtransfer is strongly dominated by disk I/O and initial preprocessing,which is common to both CPU and GPU implementations. The bulkof the preprocessing time is consumed by the contrast stretchingoperation, whose purpose is to approximately fix the threshold atwhich we reject spurious maxima in scale-space. We further notethat since most of our samples have βΌ βΌ ( π₯, π¦, π ) ) is nominal. Therefore Host-GPUand GPU-Host copy times are not onerous and do not dilute theperformance improvements of our GPU implementation.We have deployed our GPU implementation of DoG as an on-demand analysis tool through the MDML platform. The MDMLuses funcX [4] to serve the DoG tool on a HPC GPU-enhancedcluster at Argonne National Laboratory. The GPU cluster shares ahigh performance network with the FSP instrument (284 π s average n_bin t i m e ( s ) CPUGPU 1713192530 max_sigma
Figure 5: Runtime performance of CPU reference imple-mentation versus standard GPU implementation. β β n_bin t i m e ( s ) FFTStandard 1713192530 max_sigma
Figure 6: Runtime performance of FFT convolution vs. stan-dard convolution on GPU. Note the log scale for time. latency). Our DoG implementation requires 100ms on average toanalyze a PLIF image. This processing rate is sufficient to provideonline analysis of PLIF data as they are generated, enabling nearreal-time feedback and optimization of configurations.
There is much historical work in this area employing classicalmethods and some more recent work employing neural networkmethods. A useful survey is Ilonen et al. [9]. Yuen et al. [26] com-pare various implementations of the Hough Transform for circlefinding in metallurgical applications. Strokina et al. [23] detect bub-bles for the purpose of measuring gas volume in pulp suspensions,formulating the problem as the detection of concentric circular ar-rangements by using Random Sample and Consensus (RANSAC) onedges. Poletaev et al. [18] train a CNN to perform object detectionfor studying two-phase bubble flows. The primary impediment toapplying Poletaevβs techniques to our problem is our complete lack aksim Levental, Ryan Chard, Joseph A. Libera, Kyle Chard, Aarthi Koripelly, Jakob R. Elias, Marcus Schwarting, Ben Blaiszik, Marius Stan, Santanu Chaudhuri, and Ian Foster of ground-truthed samples, which prevents us from being able toactually train any learning machine, let alone a sample-inefficientmachine such as a CNN [1]. All of these methods, amongst otherdrawbacks, fail to be performant enough for real-time use. Forexample, Poletaevβs CNN takes βΌ We have presented a method for the inference of droplet size distri-bution in PLIF images of FSP. We briefly introduced the scale-spacerepresentation of an image and discussed several detectors thatoperate on such a representation. Identifying the DoG operator asstriking the right balance between accuracy and performance, weimplemented it on GPU. We then compared our GPU implementa-tion (and a refinement thereof) against a reference implementation.Our comparison demonstrates an order of magnitude improvementover the reference implementation with almost no decrease in ac-curacy. These improvements make it possible to perform onlineanalysis of PLIF images using a GPU-enhanced cluster, enablingonline feedback and optimization of the FSP instrument. Futurework will focus on improving memory access times and disk I/Ooptimizations.
ACKNOWLEDGMENTS
This work was supported by the U.S. Department of Energy, Officeof Science, under contract DE-AC02-06CH11357.
REFERENCES [1] Sanjeev Arora, Simon S Du, Wei Hu, Zhiyuan Li, and Ruosong Wang. 2019.Fine-grained analysis of optimization and generalization for overparameterizedtwo-layer neural networks. arXiv preprint arXiv:1901.08584 (2019).[2] T. Bicer, D. Gursoy, R. Kettimuthu, I. T. Foster, B. Ren, V. De Andrede, and F. DeCarlo. 2017. Real-Time Data Analysis and Autonomous Steering of SynchrotronLight Source Experiments. In . 59β68.[3] M. Cesarelli, P. Bifulco, T. Cerciello, M. Romano, and L. Paura. 2013. X-rayfluoroscopy noise modeling for filter design.
International Journal of ComputerAssisted Radiology and Surgery
8, 2 (jun 2013), 269β278. https://doi.org/10.1007/s11548-012-0772-8[4] Ryan Chard, Yadu Babuji, Zhuozhao Li, Tyler Skluzacek, Anna Woodard, BenBlaiszik, Ian Foster, and Kyle Chard. 2020. FuncX: A Federated Function ServingFabric for Science. In
Proceedings of the 29th International Symposium on High-Performance Parallel and Distributed Computing (Stockholm, Sweden) (HPDCβ20) . Association for Computing Machinery, New York, NY, USA, 65β76. https://doi.org/10.1145/3369583.3392683[5] Jakob R Elias, Ryan Chard, Joseph A Libera, Ian Foster, and Santanu Chaudhuri.2020. The Manufacturing Data and Machine Learning Platform: Enabling Real-time Monitoring and Control of Scientific Experiments via IoT. arXiv preprintarXiv:2005.13669
PtychoNet: Fast and High Quality PhaseRetrieval for Ptychography . Technical Report. Brookhaven National Lab.(BNL),Upton, NY (United States).[8] Jarmo Ilonen, Tuomas Eerola, Heikki Mutikainen, Lasse Lensu, Jari KΓ€yhkΓΆ, andHeikki KΓ€lviΓ€inen. 2014. Estimation of bubble size distribution based on powerspectrum. In
Lecture Notes in Computer Science (including subseries Lecture Notesin Artificial Intelligence and Lecture Notes in Bioinformatics) , Vol. 8827. SpringerVerlag, 38β45. https://doi.org/10.1007/978-3-319-12568-8_5[9] Jarmo Ilonen, Roman JurΓ‘nek, Tuomas Eerola, Lasse Lensu, MarkΓ©ta DubskΓ‘,Pavel ZemΔΓk, and Heikki KΓ€lviΓ€inen. 2018. Comparison of bubble detectors andsize distribution estimators.
Pattern Recognition Letters
101 (jan 2018), 60β66.https://doi.org/10.1016/j.patrec.2017.11.014[10] TSI Incorporated. Scanning Mobility Particle Sizer Spectrometer 3938.https://tsi.com/products/particle-sizers/particle-size-spectrometers/scanning-mobility-particle-sizer-spectrometer-3938/[11] Jeff Johnson, Matthijs Douze, and Herve Jegou. 2019. Billion-scale similaritysearch with GPUs.
IEEE Transactions on Big Data (2019), 1β1. https://doi.org/10.1109/tbdata.2019.2921572[12] Tommi Karhunen, Anna LΓ€hde, Jani Leskinen, R. BΓΌchel, O. Waser, U. Tapper,and Jorma Jokiniemi. 2011. Transition Metal-Doped Lithium Titanium OxideNanoparticles Made Using Flame Spray Pyrolysis.
ISRN Nanotechnology . 1β5.[14] Globus Labs. MERF-FSP. https://github.com/globus-labs/MERF-FSP.[15] Tony Lindeberg. 1998. Feature Detection with Automatic Scale Selection.
Interna-tional Journal of Computer Vision
30, 2 (1998), 79β116. https://doi.org/10.1023/A:1008045108935[16] Zhengchun Liu, Tekin Bicer, Rajkumar Kettimuthu, Doga Gursoy, FrancescoDe Carlo, and Ian Foster. 2019. Tomogan: Low-dose x-ray tomography withgenerative adversarial networks. arXiv preprint arXiv:1902.07582 (2019).[17] Adam Paszke, Sam Gross, Francisco Massa, Adam Lerer, James Bradbury, GregoryChanan, Trevor Killeen, Zeming Lin, Natalia Gimelshein, Luca Antiga, Alban Des-maison, Andreas Kopf, Edward Yang, Zachary DeVito, Martin Raison, AlykhanTejani, Sasank Chilamkurthy, Benoit Steiner, Lu Fang, Junjie Bai, and SoumithChintala. 2019. PyTorch: An Imperative Style, High-Performance Deep LearningLibrary. In
Advances in Neural Information Processing Systems 32 , H. Wallach,H. Larochelle, A. Beygelzimer, F. d'AlchΓ©-Buc, E. Fox, and R. Garnett (Eds.). Cur-ran Associates, Inc., 8024β8035. http://papers.neurips.cc/paper/9015-pytorch-an-imperative-style-high-performance-deep-learning-library.pdf[18] I E Poletaev, K S Pervunin, and M P Tokarev. 2016. Artificial neural network forbubbles pattern recognition on the images.
Journal of Physics: Conference Series
754 (oct 2016), 072002. https://doi.org/10.1088/1742-6596/754/7/072002[19] Mahdieh Poostchi, Kannappan Palaniappan, Filiz Bunyak, Michela Becchi, andGuna Seetharaman. 2013. Efficient GPU Implementation of the Integral His-togram. In
Computer Vision - ACCV 2012 Workshops , Jong-Il Park and Junmo Kim(Eds.). Springer Berlin Heidelberg, Berlin, Heidelberg, 266β278.[20] Sotiris E. Pratsinis. 1998. Flame aerosol synthesis of ceramic powders.
Progress inEnergy and Combustion Science
24, 3 (1998), 197 β 219. https://doi.org/10.1016/S0360-1285(97)00028-2[21] M. Sokolowski, A. Sokolowska, A. Michalski, and B. Gokieli. 1977. The βin-flame-reactionβ method for Al2O3 aerosol formation.
Journal of Aerosol Science
8, 4(1977), 219 β 230. https://doi.org/10.1016/0021-8502(77)90041-6[22] U. Stevanovic, M. Caselle, A. Cecilia, S. Chilingaryan, T. Farago, S. Gasilov, A.Herth, A. Kopmann, M. Vogelgesang, M. Balzer, T. Baumbach, and M. Weber.2015. A Control System and Streaming DAQ Platform with Image-Based Triggerfor X-ray Imaging.
IEEE Transactions on Nuclear Science
62, 3 (2015), 911β918.[23] Nataliya Strokina, Jiri Matas, Tuomas Eerola, Lasse Lensu, and Heikki KΓ€lviΓ€inen.2016. Detection of bubbles as concentric circular arrangements.
Machine Visionand Applications
27, 3 (apr 2016), 387β396. https://doi.org/10.1007/s00138-016-0749-7[24] StΓ©fan van der Walt, Johannes L. SchΓΆnberger, Juan Nunez-Iglesias, FranΓ§oisBoulogne, Joshua D. Warner, Neil Yager, Emmanuelle Gouillart, Tony Yu, andthe scikit-image contributors. 2014. scikit-image: image processing in Python.
PeerJ