We developed a python-based fluorescence analysis package (PyXRF) at the National Synchrotron Light Source II (NSLS-II) for the X-ray fluorescence-microscopy beamlines, including Hard X-ray Nanoprobe (HXN), and Submicron Resolution X-ray Spectroscopy (SRX). This package contains a high-level fitting engine, a comprehensive commandline/ GUI design, rigorous physics calculations, and a visualization interface. PyXRF offers a method of automatically finding elements, so that users do not need to spend extra time selecting elements manually. Moreover, PyXRF provides a convenient and interactive way of adjusting fitting parameters with physical constraints. This will help us perform quantitative analysis, and find an appropriate initial guess for fitting. Furthermore, we also create an advanced mode for expert users to construct their own fitting strategies with a full control of each fitting parameter. PyXRF runs single-pixel fitting at a fast speed, which opens up the possibilities of viewing the results of fitting in real time during experiments. A convenient I/O interface was designed to obtain data directly from NSLS-II’s experimental database. PyXRF is under open-source development and designed to be an integral part of NSLS-II’s scientific computation library.
X-ray Absorption Near Edge Structure (XANES) imaging, an advanced absorption spectroscopy technique, at the Transmission X-ray Microscopy (TXM) Beamline X8C of NSLS enables high-resolution chemical mapping (a.k.a. chemical composition identification or chemical spectra fitting). Two-Dimensional (2D) chemical mapping has been successfully applied to study many functional materials to decide the percentages of chemical components at each pixel position of the material images. In chemical mapping, the attenuation coefficient spectrum of the material (sample) can be fitted with the weighted sum of standard spectra of individual chemical compositions, where the weights are the percentages to be calculated. In this paper, we first implemented and compared two fitting approaches: (i) a brute force enumeration method, and (ii) a constrained least square minimization algorithm proposed by us. Next, as 2D spectra fitting can be conducted pixel by pixel, so theoretically, both methods can be implemented in parallel. In order to demonstrate the feasibility of parallel computing in the chemical mapping problem and investigate how much efficiency improvement can be achieved, we used the second approach as an example and implemented a parallel version for a multi-core computer cluster. Finally we used a novel way to visualize the calculated chemical compositions, by which domain scientists could grasp the percentage difference easily without looking into the real data.
Previous work indicated that using ordered subsets (OS-SIRT) for iterative CT can optimize the reconstruction
performance once optimal settings for parameters such as number of subsets and relaxation factor have been identified.
However, recent work also indicated that the optimal settings have dependent relations with regards to the quality of the
projection data (such as SNR-level), which are hard to obtain a-priori. In addition, users may also have preferences in
trading off between the dependent parameters, such as reconstruction speed and quality, which makes these
(independent) parameters even more difficult to determine in an automated manner. Therefore, we devise an effective
parameter space navigation interface allowing users to interactively assist parameter selection for iterative CT
reconstruction algorithms (here for OS-SIRT). It is based on a 2D scatter plot with six display modes to show different
features of the reconstruction results based on the user preferences. It also enables a dynamic visualization by gradual
parameter alteration for illustrating the rate of impact of a given parameter constellation. Finally, we note the generality
of our approach, which could be applied to assist any parameter selection related systems.
SC829: MIC-GPU: High-Performance Computing for Medical Imaging on Programmable Graphics Hardware (GPU)
Advanced graphics boards have become a standard ingredient in any mid-range and high-end PC, and aside from enabling stunning interactive graphics effects in computer games, their rich programmability allows speedups (over CPU-based code) of 1-2 orders of magnitude also in general-purpose computations. This course explains, in gentle ways, how to exploit this powerful computing platform to accelerate various popular medical imaging applications, such as CT, MRI, image processing, and data visualization. It begins by introducing the basic GPU architecture and its programming model, which establishes a solid understanding on how general computing tasks must be structured and implemented on the GPU to achieve the desired high speedups. Next, it examines a number of standard 2D and 3D medical imaging operators, such as filtering, sampling, statistical analysis, transforms, projectors, etc, and explains how these can be effectively accelerated on the GPU. Finally, it puts this all together by describing the full GPU-accelerated computing pipeline for a representative set of medical imaging applications, such as analytical and iterative CT, MRI, image enhancement chains, and volume visualization.