Systems and methods for automated spectroscopy data processing across heterogeneous operating environments
Patent Information
- Application Number
- PCT/US2026/015619
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2025-02-19
- Filing Date
- 2026-02-18
- Publication Date
- 2026-08-27
Smart Images

Figure US2026015619_27082026_PF_FP_ABST
Abstract
Description
SYSTEMS AND METHODS FOR AUTOMATED SPECTROSCOPY DATA PROCESSING ACROSS HETEROGENEOUS OPERATING ENVIRONMENTSCROSS-REFERENCE TO RELATED APPLICATIONS
[0001] This application claims priority to and the benefit of U.S. Provisional Patent Application No. 63 / 760,218, filed on February 19, 2025, and entitled “HIGH-THROUGHPUT LCMODEL FOR 1H-MRS DATA PROCESSING IN WINDOWS”, the entirety of which is incorporated herein by reference for all purposes.BACKGROUND
[0002] Magnetic resonance spectroscopy (MRS) is a noninvasive analytical technique used to measure biochemical composition within a subject by analyzing spectral signals acquired using magnetic resonance imaging systems. MRS data are commonly acquired using different scanner platforms and acquisition protocols, including single-voxel spectroscopy and multi-voxel chemical shift imaging, and may be stored in a variety of vendor-specific data formats. Quantification of MRS data typically involves fitting acquired spectra to model spectra in order to estimate metabolite concentrations and related parameters. Various software-based tools are used in the field to perform MRS data quantification, visualization, and analysis.
[0003] The subject matter claimed herein is not limited to embodiments that solve any challenges or that operate only in environments such as those described above. Rather, this background is only provided to illustrate one exemplary technology area where some embodiments described herein may be practiced.BRIEF DESCRIPTION OF THE DRAWINGS
[0004] In order to describe the manner in which the above-recited and other advantages and features can be obtained, a more particular description of the subject matter briefly described above will be rendered by reference to specific embodiments which are illustrated in the appended drawings. Understanding that these drawings depict only typical embodiments and are not therefore to be considered to be limiting in scope, embodiments will be described and explained with additional specificity and detail through the use of the accompanying drawings in which:
[0005] Figure 1 illustrates example components of a system that may comprise or implement the disclosed subject matter.- Page 1 - Docket No. 23827.3A
[0006] Figure 2 illustrates an example diagram depicting various systems, components, operations, data objects, and / or other elements associated with the disclosed subject matter.
[0007] Figure 3 illustrates an example display associated with a data processing interface, in accordance with implementations of the disclosed subject matter.
[0008] Figure 4 illustrates another example display associated with a data processing interface, in accordance with implementations of the disclosed subject matter.
[0009] Figure 5A illustrates example graphical representations showing processed magnetic resonance spectroscopy data and corresponding spectral fitting information for multiple anatomical regions.
[0010] Figure 5B illustrates example graphical representations showing contributions of individual metabolites to processed magnetic resonance spectroscopy spectra.
[0011] Figure 6A illustrates example graphical representations showing processed magnetic resonance spectroscopy data for multiple anatomical regions in a subject.
[0012] Figure 6B illustrates example graphical representations showing contributions of individual metabolites to processed magnetic resonance spectroscopy spectra in a subject.
[0013] Figure 7 illustrates example regression analyses comparing spectroscopy quantification results generated using automated processing with spectroscopy quantification results generated using manual processing.
[0014] Figure 8 illustrates additional example regression analyses comparing spectroscopy quantification results generated using automated processing with spectroscopy quantification results generated using manual processing.
[0015] Figures 9A through 91 illustrate example box plot visualizations of quantified metabolite concentrations generated from processed magnetic resonance spectroscopy data.
[0016] Figures 10A through 101 illustrate example box plot visualizations of metabolite concentration ratios generated from processed magnetic resonance spectroscopy data.
[0017] Figures 11A through 111 illustrate additional example box plot visualizations of quantified metabolite concentrations generated from processed magnetic resonance spectroscopy data for a subject.- Page 2 - Docket No. 23827.3A
[0018] Figures 12A through 121 illustrate additional example box plot visualizations of metabolite concentration ratios generated from processed magnetic resonance spectroscopy data for a subject.DETAILED DESCRIPTION
[0019] The disclosed subject matter relates generally to systems and techniques for automated spectroscopy data processing across heterogeneous operating environments.
[0020] As described above, magnetic resonance spectroscopy data are acquired using a variety of scanner platforms and acquisition techniques and are processed using specialized spectroscopy quantification software to estimate metabolite concentrations and related parameters. In practice, execution of spectroscopy quantification software often involves operating system dependencies, supporting libraries, and command-line workflows that differ from the computing environments in which spectroscopy data are commonly accessed, organized, and reviewed. As a result, spectroscopy data processing may require manual preparation of input files, manual configuration of processing parameters, coordination between multiple execution contexts, and post-processing steps to aggregate and visualize results, which may introduce complexity and variability into the analysis workflow.
[0021] The present disclosure relates to systems that integrate spectroscopy data processing across heterogeneous computing environments by providing a coordinated, interface-driven workflow for preparing, executing, and post-processing spectroscopy quantification operations. In some implementations, a system may present a data processing interface within a host computing environment that allows a user to configure spectroscopy processing parameters, select spectroscopy data files for processing, and initiate execution of a spectroscopy quantification engine that operates within a secondary execution environment. The secondary execution environment may be initialized within the host computing environment and may be configured to support execution of spectroscopy quantification software and associated dependencies.
[0022] In some implementations, spectroscopy data files selected within the host computing environment may be used, together with configured spectroscopy processing parameters, to generate pre-formatting files required by the spectroscopy quantification engine. Such pre-formatting files may include control files, raw spectroscopy data files, and optional reference files. The system may be configured to transfer the pre-formatting files from the host computing environment to the secondary execution environment and to execute a script within the secondary execution environment that invokes the spectroscopy- Page 3 - Docket No. 23827.3Aquantification engine to process the pre-formatting files and generate spectroscopy quantification output. The spectroscopy quantification output may then be transferred back to the host computing environment for further processing.
[0023] In some implementations, the system may perform one or more post-processing operations on the spectroscopy quantification output within the host computing environment to generate result data suitable for analysis and visualization. Post-processing operations may include aggregation of results from multiple spectroscopy datasets, filtering of results based on user-defined criteria, and preparation of data for graphical representation. The system may further generate one or more graphical representations based on the result data and user input, allowing visualization and comparative analysis of spectroscopy results across datasets or groups of datasets.
[0024] In some implementations, presenting a unified data processing interface within a host computing environment may allow users to configure spectroscopy processing parameters and initiate quantification workflows without directly interacting with command-line interfaces or operating system-specific execution details, which may reduce user-dependent variability in spectroscopy data processing.
[0025] In some implementations, establishing a secondary execution environment within the host computing environment may enable execution of spectroscopy quantification software that relies on specific runtime dependencies, while allowing data organization, parameter configuration, and result visualization to remain within the host computing environment. Such separation of execution contexts may improve interoperability between software components operating under different operating system constraints and may allow updates to the spectroscopy quantification engine or its supporting libraries to be managed independently of the host computing environment. In some implementations, generating control files, raw spectroscopy data files, and reference files in an automated manner may improve reproducibility by ensuring that processing parameters are consistently reflected in the inputs provided to the spectroscopy quantification engine.
[0026] Post-processing operations performed within the host computing environment may enable aggregation, filtering, and visualization of spectroscopy quantification output in a manner that supports comparative analysis across datasets or groups of datasets. In some implementations, applying user-defined quality thresholds during post-processing may facilitate identification of spectroscopy results that satisfy specified criteria prior to visualization or export. Parallel execution of spectroscopy quantification across multiple- Page 4 - Docket No. 23827.3Adatasets may further reduce total processing time when processing large numbers of spectra while maintaining a consistent processing workflow.
[0027] Figure 1 illustrates various example components of a system 100. For example, Figure 1 illustrates an implementation in which the system 100 includes processor(s) 102, storage 104, sensor(s) 106, I / O system(s) 108, and communication system(s) 110. Although Figure 1 illustrates a system 100 as including particular components, one will appreciate, in view of the present disclosure, that a system 100 may comprise any number of additional or alternative components.
[0028] The processor(s) 102 may comprise one or more sets of electronic circuitries and / or processing units that include any number of logic units, registers, and / or control units to facilitate the execution of computer-readable instructions (e.g., instructions that form a computer program). Such computer-readable instructions may be stored within storage 104. The storage 104 may comprise computer-readable recording media and may be volatile, non-volatile, or some combination thereof. Furthermore, storage 104 may comprise local storage, remote storage (e.g., accessible via communication system(s) 110 or otherwise), or some combination thereof. Non-volatile memory may refer to any type of computer-readable storage medium configured to retain stored information when power is removed. Examples of non-volatile memory may include solid-state drives, hard disk drives, flash memory, read-only memory, or other persistent storage associated with a local file system of a client computing device. Volatile memory may refer to any type of computer-readable storage medium configured to store information temporarily and to lose stored information when power is removed. Examples of volatile memory may include random access memory or other memory structures used to hold data, execution state, or temporary buffers maintained within a runtime environment of a browser executing on a client computing device. Additional details related to processors (e.g., processor(s) 102) and computer storage media (e.g., storage 104) will be provided hereinafter.
[0029] In some implementations, the processor(s) 102 may comprise or be configurable to execute any combination of software and / or hardware components that are operable to facilitate processing using machine learning models or other artificial intelligence-based structures or architectures. For example, processor(s) 102 may comprise and / or utilize hardware components or computer-executable instructions operable to carry out function blocks and / or processing layers configured in the form of, by way of non-limiting example, single-layer neural networks, feedforward neural networks, radial basis function networks, deep feedforward networks, recurrent neural- Page 5 - Docket No. 23827.3Anetworks, long short-term memory (LSTM) networks, gated recurrent units (GRUs), autoencoder neural networks, variational autoencoders, denoising autoencoders, sparse autoencoders, Markov chains, Hopfield networks, Boltzmann machine networks, restricted Boltzmann machine networks, deep belief networks, convolutional neural networks (CNNs), deconvolutional neural networks, deep convolutional inverse graphics networks, generative adversarial networks (GANs), diffusion models, transformer-based architectures (e.g., large language models, vision transformers, encoder-decoder transformers), mixture-of-experts architectures, graph neural networks (GNNs), spiking neural networks, reservoir or liquid state machines, extreme learning machines, echo state networks, deep residual networks, Kohonen or self-organizing networks, support vector machines, probabilistic graphical models, reinforcement learning frameworks, or combinations thereof. In some examples, the processor(s) 102 may further be operable to execute hybrid or multimodal architectures configured to process data of multiple modalities, including text, image, audio, or structured data inputs.
[0030] As will be described in more detail, the processor(s) 102 may be configured to execute instructions stored within storage 104 to perform certain actions. The actions may rely at least in part on data stored on storage 104 in a volatile or non-volatile manner. In some instances, the actions may rely at least in part on communication system(s) 110 for receiving data from remote system(s) 112, which may include, for example, separate systems or computing devices, sensors, and / or others. The communication system(s) 110 may comprise any combination of software or hardware components that are operable to facilitate communication between on-system components / devices and / or with off-system components / devices. For example, the communication system(s) 110 may comprise ports, buses, or other physical connection apparatuses for communicating with other devices or components. Additionally, or alternatively, the communication system(s) 110 may comprise systems or components operable to communicate wirelessly with external systems and / or devices through any suitable communication channel(s), such as, by way of non-limiting example, Bluetooth, ultra-wideband, wireless local area networks (WLAN), infrared communication, near-field communication (NFC), cellular or satellite communication, and / or others.
[0031] Figure 1 illustrates that a system 100 may comprise or be in communication with sensor(s) 106. Sensor(s) 106 may comprise any device for capturing or measuring data representative of perceivable phenomena. By way of non-limiting example, the sensor(s) 106 may comprise one or more image sensors, microphones, thermometers,- Page 6 - Docket No. 23827.3Abarometers, magnetometers, accelerometers, gyroscopes, pressure sensors, optical sensors, proximity sensors, or others.
[0032] Furthermore, Figure 1 illustrates that a system 100 may comprise or be in communication with I / O system(s) 108. VO system(s) 108 may include any type of input or output device such as, by way of non-limiting example, a touch screen, a mouse, a keyboard, a controller, or others, without limitation. For example, the I / O system(s) 108 may include a display system that may comprise any number of display panels or screens, projectors, optics, laser scanning display assemblies, or other components configured to visually or otherwise convey information.
[0033] Figure 2 illustrates an example diagram 200 depicting various systems, components, operations, data objects, and other elements associated with facilitating spectroscopy data processing and analysis. As shown in Figure 2, diagram 200 depicts a host computing environment 202 that may be implemented using a client computing device or similar computing platform. In some implementations, the host computing environment 202 may be implemented using one or more components of a system 100, such as one or more processors, storage, input and output systems, and communication systems, and may be configured to execute application logic, store data objects, and present user interface elements associated with spectroscopy data processing workflows.
[0034] In some implementations, the host computing environment 202 may comprise a desktop or laptop computing environment operating under a general-purpose operating system, such as a Windows-based computing environment or a macOS-based computing environment. The host computing environment 202 may provide access to local or network-accessible file systems, user input devices, and display hardware, and may support execution of application code configured to present a data processing interface for spectroscopy workflows. Diagram 200 depicts that various operations, modules, and data objects associated with spectroscopy data processing may be executed, instantiated, and or stored within the host computing environment 202, including logic for receiving user input, accessing spectroscopy data files, configuring processing parameters, coordinating execution of spectroscopy quantification, and presenting results.
[0035] Figure 2 conceptually depicts a data processing interface 204 that may be executed within the host computing environment 202. In some implementations, the data processing interface 204 may be visually presented on a display associated with the host computing environment 202, such as a screen or other visual output device, and may comprise an interactable portion of a user interface frontend provided by a software- Page 7 - Docket No. 23827.3Aapplication. The software application may be implemented as a locally executable application, a web application executed within a browser environment, or another application framework capable of presenting graphical interface elements and interacting with data accessible within the host computing environment 202. The data processing interface 204 may be configured to facilitate spectroscopy data processing and analysis by presenting display elements that enable configuration of processing parameters, selection of data sources, initiation of processing operations, and / or review of processing status and results. In some implementations, the data processing interface 204 may be implemented using web-based or cross-platform user interface technologies to support execution within different operating systems.
[0036] In some implementations, the data processing interface 204 may be configured to receive user input through one or more input modalities supported by the host computing environment 202. For example, user input may be received through interaction with display elements of the data processing interface 204 using a keyboard, mouse, touch interface, trackpad, or other pointing or selection device. In certain implementations, the data processing interface 204 may additionally or alternatively be configured to receive user input through voice commands, gesture-based input, controller input, or other input mechanisms supported by the host computing environment 202. User input received via the data processing interface 204 may be used to define processing parameters, select directories or spectroscopy data files, initiate processing operations, or trigger other actions associated with spectroscopy data processing workflows. The data processing interface 204 may be configured to update its displayed content in response to received user input or changes in system state, such as indicating processing progress, completion status, or availability of generated outputs. In some implementations, the data processing interface 204 may comprise a plurality of display pages or views that may be navigated among by a user to facilitate different aspects of the spectroscopy data processing and analysis functionality described herein.
[0037] Figure 2 conceptually depicts a directory 206 that may contain one or more spectroscopy data files 208 accessible within the host computing environment 202. In some implementations, the system may access the directory 206 as part of facilitating spectroscopy data processing, and the directory 206 may correspond to a location within a file system associated with the host computing environment 202. For example, the directory 206 may be represented within a file explorer or similar file management interface provided by the operating system of the host computing environment 202, and- Page 8 - Docket No. 23827.3Amay include files stored on a local storage device, a removable storage medium, or a network-accessible storage location. The directory 206 may be identified or selected based on user input directed to the data processing interface 204, such as by navigating a file system hierarchy, selecting a folder through a dialog, or otherwise designating a location that contains spectroscopy data to be processed.
[0038] In some implementations, the spectroscopy data files 208 contained within the directory 206 may comprise proton magnetic resonance spectroscopy data files acquired using one or more scanner platforms and acquisition protocols. The spectroscopy data files 208 may be represented in vendor-specific file formats, such as one or more files having a .fid format or one or more files having a .rda format, and may include single-voxel spectroscopy data or multi-voxel spectroscopy data. The spectroscopy data files 208 may include raw signal data and associated metadata describing acquisition parameters, spatial encoding, and / or other characteristics of the spectroscopy acquisition. Accessing the directory 206 and the spectroscopy data files 208 contained therein may enable subsequent configuration of processing parameters, generation of pre-formatting files, and / or execution of spectroscopy quantification operations as described herein.
[0039] Figure 2 conceptually depicts spectroscopy processing parameters 210 that may be configured to control how spectroscopy data files are prepared, processed, and / or quantified by a spectroscopy quantification engine. In some implementations, the spectroscopy processing parameters 210 may represent a collection of configurable settings, selections, and rules that influence interpretation of spectroscopy data, selection of analysis resources, and / or execution behavior of downstream processing operations. The spectroscopy processing parameters 210 may be defined, modified, or confirmed based on user input directed to the data processing interface 204, and may be stored or maintained within the host computing environment 202 for use during subsequent processing stages. In some implementations, the spectroscopy processing parameters 210 may be updated dynamically in response to changes in selected data files or other user actions, while in other implementations the parameters may be defined prior to initiating processing and applied consistently across a set of spectroscopy data files 208.
[0040] In some implementations, the spectroscopy processing parameters 210 may include a data acquisition format parameter that identifies the acquisition framework associated with the spectroscopy data files 208. For example, the data acquisition format parameter may indicate that the spectroscopy data files 208 correspond to a Siemens acquisition format or a Bruker acquisition format, which may influence how metadata are- Page 9 - Docket No. 23827.3Ainterpreted, how raw signal data are read, and / or how subsequent processing steps are configured. The spectroscopy processing parameters 210 may include a basis set parameter that controls selection of spectral basis information used during quantification. In some implementations, the basis set parameter may enable selection between a first basis set (e.g., “Basic”) and a second basis set (e.g., “All”), where the second basis set includes a greater number of spectral components than the first basis set. The system may, in some implementations, automatically select an appropriate basis set based on characteristics of the spectroscopy data files 208, such as acquisition format, echo time, or other metadata, while still allowing user override through the data processing interface 204.
[0041] In some implementations, the spectroscopy processing parameters 210 may include parameters controlling optional preprocessing and analysis behaviors, such as a water reference processing configuration and / or an eddy current correction configuration. These parameters may specify whether corresponding corrections are enabled, disabled, or applied using particular processing options. The spectroscopy processing parameters 210 may also include spectral window parameters that define portions of spectral or spatial data to be processed. For example, spectral window parameters may specify a parts-per-million (ppm) range for spectral analysis, as well as spatial selection parameters such as row start, row end, column start, column end, slice start, and / or slice end values used to identify regions of interest within datasets. Additional spectroscopy processing parameters 210 may define spatial selection behavior for multi -voxel data, such as identifying which voxels are included in processing, as well as a spectroscopy processing type associated with different anatomical locations of data acquisition, which may influence parameter defaults or analysis behavior. The spectroscopy processing parameters 210 may also include an echo time selection rule that governs how echo time information associated with the spectroscopy data files 208 is used during basis selection or processing configuration. In some implementations, at least some of the spectroscopy processing parameters 210 may be explicitly defined based on user input directed to the data processing interface 204, while other parameters may be derived automatically based on the selected spectroscopy data files 208 and / or previously defined settings.
[0042] Figure 2 conceptually depicts a secondary execution environment 212 that may be initialized within the host computing environment 202. In some implementations, the secondary execution environment 212 may be established as an isolated or virtualized execution context configured to support execution of software components that rely on operating system-specific dependencies distinct from those of the host computing- Page 10 - Docket No. 23827.3Aenvironment 202. Initializing the secondary execution environment 212 may comprise creating, configuring, or launching an execution context within the host computing environment 202 that provides access to a file system, runtime libraries, and / or system utilities used for executing spectroscopy quantification software, while maintaining separation from native execution contexts of the host computing environment 202.
[0043] In some implementations, the secondary execution environment 212 may comprise a Linux-based computing environment instantiated within the host computing environment 202. For example, when the host computing environment 202 comprises a Windows-based computing environment, the secondary execution environment 212 may be implemented using a Linux compatibility or subsystem framework that enables execution of Linux binaries and scripts within the Windows environment, such as a Linux subsystem or similar virtualization or container-based mechanism. When the host computing environment 202 comprises a macOS-based computing environment, the secondary execution environment 212 may be implemented using a virtual machine, container runtime, or other Linux-hosting framework configured to provide a Linux execution context within macOS. In some implementations, the secondary execution environment 212 may be initialized in response to user input directed to the data processing interface 204, and may persist across multiple processing sessions or be initialized on demand as needed for spectroscopy processing operations.
[0044] In some implementations, the secondary execution environment 212 may be configured to operate in coordination with the host computing environment 202 by enabling data exchange between environments. For example, directories or files accessible within the host computing environment 202 may be mounted, mirrored, or otherwise made accessible within the secondary execution environment 212 to facilitate transfer of input files, execution scripts, and / or output data. The secondary execution environment 212 may be configured to execute command-line utilities, shell scripts, and analysis software while allowing user interaction, parameter configuration, and / or result visualization to remain within the host computing environment 202.
[0045] Figure 2 conceptually depicts one or more supporting packages or libraries 214 and a spectroscopy quantification engine 216 disposed within the secondary execution environment 212. In some implementations, the supporting packages or libraries 214 may comprise software components, runtime dependencies, numerical libraries, scripting utilities, and / or system-level tools that enable execution of the spectroscopy quantification engine 216 within the secondary execution environment 212. Such supporting packages- Page 11 - DocketNo. 23827.3Aor libraries 214 may include, for example, libraries for numerical computation, file input and output handling, scripting language runtimes, and / or system utilities used to invoke and manage execution of spectroscopy analysis tasks. The spectroscopy quantification engine 216 may rely on the supporting packages or libraries 214 to read pre-formatting files, perform spectral fitting operations, generate quantitative results, and / or produce output files in one or more formats.
[0046] In some implementations, the system may be configured to install the spectroscopy quantification engine 216 and the one or more supporting packages or libraries 214 within the secondary execution environment 212 as part of an initialization or setup operation. Initializing the secondary execution environment 212 and installing the spectroscopy quantification engine 216 and supporting packages or libraries 214 may be performed in response to user input directed to an installation command presented via the data processing interface 204. For example, activation of an installation control within the data processing interface 204 may cause the system to provision the secondary execution environment 212, retrieve or unpack executable binaries, install required libraries, and configure environment settings needed to support execution of the spectroscopy quantification engine 216. In some implementations, this installation process may be performed as a one-time operation for a given host computing environment 202, while in other implementations the installation process may be repeated, updated, and / or verified as needed.
[0047] In some implementations, the spectroscopy quantification engine 216 may comprise a linear combination of model spectra (LCModel) engine configured to perform quantitative analysis of spectroscopy data by fitting acquired spectra to a set of reference basis spectra. The spectroscopy quantification engine 216 may be implemented as a command-line application executable within the secondary execution environment 212 and may be configured to accept input files generated by the system, including control files, raw spectroscopy data files, and optional reference files. The spectroscopy quantification engine 216 may generate output files that include quantitative estimates of metabolite concentrations, fitting parameters, diagnostic information, and / or graphical representations of spectral fits. In some implementations, the spectroscopy quantification engine 216 and the supporting packages or libraries 214 may be maintained entirely within the secondary execution environment 212, allowing execution of spectroscopy quantification to be isolated from the host computing environment 202 while remaining accessible through coordinated data transfer and execution control as described herein.- Page 12 - Docket No. 23827.3A
[0048] Figure 2 conceptually illustrates one or more pre-formatting files 218 that may be generated for use by the spectroscopy quantification engine 216. In some implementations, the pre-formatting files 218 may comprise one or more input artifacts configured to conform spectroscopy data and processing instructions to formats expected by the spectroscopy quantification engine 216. For example, the pre-formatting files 218 may include a control file that encodes spectroscopy processing parameters 210, such as acquisition format selections, basis set information, spectral window definitions, spatial selection parameters, correction configurations, and / or others. The control file may be structured to specify processing options, file paths, and execution settings used by the spectroscopy quantification engine 216 during analysis.
[0049] In some implementations, the pre-formatting files 218 may include one or more raw spectroscopy data files that contain signal data derived from the spectroscopy data files 208 in a format suitable for processing by the spectroscopy quantification engine 216. The raw spectroscopy data file may be generated by extracting, converting, or reorganizing signal data and associated metadata from the spectroscopy data files 208 based on the spectroscopy processing parameters 210. In certain implementations, the pre-formatting files 218 may additionally include a water reference file that represents reference signal information used for water scaling, normalization, and / or correction operations, depending on the configured spectroscopy processing parameters 210. Generation of the water reference file may be conditioned on whether water reference processing is enabled through the spectroscopy processing parameters 210 (e.g., as configured via the data processing interface 204).
[0050] In some implementations, the system may generate the pre-formatting files 218 based on a combination of the spectroscopy data files 208 and the spectroscopy processing parameters 210. For example, characteristics of the spectroscopy data files 208, such as acquisition format, dimensionality, or metadata values, may influence how the preformatting files 218 are constructed, while user-defined processing parameters may control content and structure of the control file and inclusion of optional reference files. Generation of the pre-formatting files 218 may be initiated or triggered in response to user input directed to the data processing interface 204, such as activation of a command or control that indicates readiness to prepare data for spectroscopy quantification. In some implementations, generation of the pre-formatting files 218 may occur prior to execution of the spectroscopy quantification engine 216 and may be repeated or updated if the- Page 13 - Docket No. 23827.3Aspectroscopy processing parameters 210 or selected spectroscopy data files 208 are modified.
[0051] In the example shown in Figure 2, the system may be configured to execute the spectroscopy quantification engine 216 within the host computing environment 202 using the pre-formatting files 218 generated. In some implementations, execution of the spectroscopy quantification engine 216 may begin by transferring the pre-formatting files 218 from the host computing environment 202 to the secondary execution environment 212. Such transfer may be performed by copying, synchronizing, mounting, or otherwise making the pre-formatting files 218 accessible within a file system of the secondary execution environment 212. The pre-formatting files 218 may be transferred individually or as a group, and may be organized into directory structures expected by the spectroscopy quantification engine 216.
[0052] Once the pre-formatting files 218 are accessible within the secondary execution environment 212, the system may execute a shell script within the secondary execution environment 212 to invoke the spectroscopy quantification engine 216. The shell script may be generated automatically by the system and may include command-line instructions that specify input file locations, processing options, and execution parameters for the spectroscopy quantification engine 216. In some implementations, the shell script may reference the control file, raw spectroscopy data file, and optional water reference file included among the pre-formatting files 218, and may invoke the spectroscopy quantification engine 216 in a batch or iterative manner to process one or more spectroscopy datasets. Execution of the spectroscopy quantification engine 216 in this manner may rely on the supporting packages or libraries 214 installed within the secondary execution environment 212, such as numerical computation libraries, scripting runtimes, and / or system utilities used to perform spectral fitting and output generation.
[0053] In some implementations, the spectroscopy quantification engine 216 may comprise an LCModel engine configured to perform quantitative analysis by fitting acquired spectroscopy data to reference basis spectra. During execution, the spectroscopy quantification engine 216 may read spectral signal data from the raw spectroscopy data file, apply processing configurations specified in the control file, and optionally use information from the water reference file to perform scaling or correction operations. The spectroscopy quantification engine 216 may produce spectroscopy quantification output 220 that includes quantitative estimates, fitting parameters, diagnostic information, and / or graphical representations associated with spectral fitting results.- Page 14 - Docket No. 23827.3A
[0054] The spectroscopy quantification output 220 may comprise per-dataset output files 222 generated for individual spectroscopy datasets or individual voxels. In some implementations, the per-dataset output files 222 may be structured data files that store quantitative results in tabular form, such as spreadsheet-compatible files or delimited text files, with each file corresponding to a single dataset or processing unit. The spectroscopy quantification output 220 may include one or more postscript graphics files 224 that depict fitted spectra, residuals, or other graphical representations generated by the spectroscopy quantification engine 216 during processing. The postscript graphics files 224 may be generated automatically as part of execution of the spectroscopy quantification engine 216 and may be stored within the secondary execution environment 212 in association with the processing.
[0055] After generation of the spectroscopy quantification output 220, the system may be configured to transfer the spectroscopy quantification output 220 from the secondary execution environment 212 back to the host computing environment 202. Such transfer may include copying the per-dataset output files 222 and postscript graphics files 224 to locations accessible within the host computing environment 202 for subsequent postprocessing, visualization, and / or export. In some implementations, transferring the spectroscopy quantification output 220 back to the host computing environment 202 may allow downstream operations to be performed using tools and interfaces available within the host computing environment 202, while maintaining execution of the spectroscopy quantification engine 216 within the secondary execution environment 212.
[0056] Executing the spectroscopy quantification engine 216 in this coordinated manner may allow complex spectroscopy analysis software to be executed within an execution context suited to its runtime dependencies, while enabling data selection, parameter configuration, and result handling to be performed within the host computing environment 202. This framework may support consistent processing across multiple datasets, and may facilitate integration of spectroscopy quantification output 220 into subsequent post-processing and visualization workflows as described herein.
[0057] In some implementations, the system may be configured to perform additional processing operations in connection with execution of the spectroscopy quantification engine 216 when the spectroscopy data files 208 are determined to comprise two-dimensional or three-dimensional datasets. For example, when the spectroscopy data files 208 correspond to multi-voxel acquisitions, such as two-dimensional or three-dimensional chemical shift imaging datasets, the system may be configured to decompose the data- Page 15 - DocketNo. 23827.3Acontained in the spectroscopy data files 208 into a plurality of individual single-voxel spectra prior to or during execution of the spectroscopy quantification engine 216. Each single-voxel spectrum may represent signal data associated with a particular spatial location within the multi-voxel dataset and may be treated as an independent dataset for purposes of quantification. In some implementations, decomposition into individual single-voxel spectra may be performed within the host computing environment 202 as part of pre-processing, while in other implementations decomposition may occur within the secondary execution environment 212 in coordination with execution of the spectroscopy quantification engine 216.
[0058] In some implementations, the system may be configured to process a plurality of spectroscopy datasets in parallel by executing multiple instances of the spectroscopy quantification engine 216 concurrently using multiple processing resources. For example, individual single-voxel spectra derived from a multi-voxel dataset, or multiple spectroscopy datasets selected for processing, may be distributed across multiple processor cores, logical processors, or other processing resources available to the system. In some implementations, parallel execution may be performed within a single secondary execution environment 212 by invoking multiple instances of the spectroscopy quantification engine 216, while in other implementations the system may establish a plurality of secondary execution environments 212 to facilitate parallel execution. Each secondary execution environment 212 may host one or more instances of the spectroscopy quantification engine 216 and may operate independently to process a corresponding dataset or subset of datasets using the pre-formatting files 218 and supporting packages or libraries 214. Parallel execution in this manner may allow multiple datasets to be processed simultaneously while maintaining coordinated transfer of input and output data between the secondary execution environments 212 and the host computing environment 202. In some implementations, parallel execution may be managed by the system to balance resource utilization and maintain responsiveness of the data processing interface 204 during processing of large numbers of spectra.
[0059] Figure 2 conceptually depicts post-processing operations 226 that may be performed using the spectroscopy quantification output 220 after execution of the spectroscopy quantification engine. In some implementations, the system may generate result data 234 by performing one or more post-processing operations 226 within the host computing environment 202 using the spectroscopy quantification output 220 transferred from the secondary execution environment 212. The post-processing operations 226 may- Page 16 - Docket No. 23827.3Abe configured to organize, refine, and / or prepare spectroscopy quantification results for subsequent analysis, visualization, or export, while allowing these operations to be performed within the host computing environment 202 using application logic associated with the data processing interface 204.
[0060] In the example shown in Figure 2, the post-processing operations 226 may include aggregation 228, which may comprise combining a plurality of per-dataset output files 222 generated as part of the spectroscopy quantification output 220 into a structured representation. The structured representation may take the form of a consolidated data file or data structure that aggregates quantitative information across multiple datasets or voxels, such as a tabular or spreadsheet-compatible representation that combines metabolite concentrations, ratios, uncertainty metrics, and / or related values extracted from the per-dataset output files 222. In some implementations, aggregation 228 may be performed automatically after completion of spectroscopy quantification processing, while in other implementations aggregation 228 may be initiated in response to user input directed to the data processing interface 204.
[0061] In some implementations, the post-processing operations 226 may include data filtering 230 performed using the structured representation generated via aggregation 228. Data filtering 230 may comprise applying one or more criteria to the aggregated result data to identify, include, exclude, or flag spectroscopy results based on quality, reliability, and / or other metrics. For example, data filtering 230 may be based on one or more thresholds associated with Cramer-Rao Lower Bound (CRLB) values, full width at half maximum (FWHM) values, or signal-to-noise ratio (SNR) values derived from the spectroscopy quantification output 220. These thresholds may be used to remove or exclude results that do not satisfy specified criteria prior to visualization and / or export. In some implementations, the thresholds used for data filtering 230 may be defined or adjusted based on user input directed to the data processing interface 204, allowing users to control post-processing behavior and tailor result data generation to particular analysis or review objectives.
[0062] Figure 2 conceptually depicts that the post-processing operations 226 may include graphics conversion 232 performed using postscript graphics files 224 generated by the spectroscopy quantification engine 216. In some implementations, the spectroscopy quantification engine 216 may generate graphical output in a postscript format that represents fitted spectra, residuals, basis contributions, and / or other visualization elements produced during quantification. The graphics conversion 232 may comprise transforming- Page 17 - Docket No. 23827.3Asuch postscript graphics files 224 into one or more user-accessible graphics formats that are more readily viewable, shareable, and / or exportable within the host computing environment 202. For example, the system may convert postscript graphics files 224 into document formats such as PDF files or into image formats such as PNG files, although other output formats may additionally or alternatively be supported.
[0063] In some implementations, graphics conversion 232 may be performed using software utilities or libraries configured to interpret postscript content and render corresponding visual representations in the selected output format. The resulting user-accessible graphics 236 may be stored within the host computing environment 202 and made available for viewing, download, and / or inclusion in reports or downstream analyses. In some implementations, conversion of the postscript graphics files 224 into the user-accessible graphics 236 may be initiated or controlled based on user input directed to the data processing interface 204. For example, a user may select one or more output formats or trigger generation of converted graphics after spectroscopy quantification processing has completed, allowing graphics conversion 232 to be performed on demand as part of the post-processing operations 226.
[0064] In the example shown in Figure 2, the post-processing operations 226 may produce result data 234 derived from the spectroscopy quantification output 220. In some implementations, the result data 234 may correspond to the structured representation generated through aggregation 228 after the structured representation has been subjected to data filtering 230 as described above. The result data 234 may therefore represent a curated set of spectroscopy quantification results that satisfy specified filtering criteria and are suitable for subsequent visualization, analysis, and / or export via the host computing environment 202.
[0065] Figure 2 conceptually depicts that one or more graphical representations 240 may be generated based on the result data 234. In some implementations, generation of the graphical representations 240 may be further controlled or modified based on user input directed to the data processing interface 204. The graphical representations 240 may include visualizations such as mean spectra plots that depict averaged spectral information across multiple datasets or voxels, and / or box plots that summarize distributions of metabolite concentrations or ratios derived from the result data 234. In some implementations, the graphical representations 240 may indicate metabolite-specific contributions to one or more mean spectra, allowing visualization of how individual metabolites contribute to composite spectral profiles. The selection of metabolites to be- Page 18 - DocketNo. 23827.3Aincluded in such representations may be defined based on user input directed to the data processing interface 204.
[0066] In some implementations, the graphical representations 240 may be generated based on groupings 238 of spectra defined using the result data 234. The groupings 238 may be established based on user input directed to the data processing interface 204 and may correspond to experimental cohorts, anatomical regions, acquisition conditions, or other criteria selected by a user. Generating graphical representations 240 based on the groupings 238 may facilitate comparative analysis by enabling side-by-side or overlaid visualization of spectroscopy results associated with different groups, thereby supporting interpretation and review of spectroscopy data across multiple datasets.
[0067] In the example shown in Figure 2, the system may be configured to present and / or export the result data 234 and / or the graphical representations 240 generated based on the result data 234. In some implementations, presenting the graphical representations 240 may comprise displaying the graphical representations 240 within the data processing interface 204 using one or more display pages or views, allowing a user to review spectra, metabolite distributions, and / or comparative plots directly within the host computing environment 202. The graphical representations 240 may be updated dynamically in response to user input, such as changes to groupings 238, filtering criteria, or visualization options, which may enable iterative exploration of spectroscopy results.
[0068] In some implementations, exporting the graphical representations 240 may comprise generating output files in user-accessible formats and saving the output files to a location within the host computing environment 202 or making the output files available for transfer or download. Exported graphical representations 240 may be used for reporting, documentation, further analysis, or sharing with other systems or users. Presenting and or exporting the graphical representations 240 in this manner may allow spectroscopy quantification results to be reviewed, compared, and disseminated without requiring separate visualization tools or manual data transformation steps. Taken together with the execution, post-processing, and visualization operations described above, the framework illustrated in diagram 200 may support an integrated workflow in which spectroscopy data are processed, evaluated, and presented within a coordinated computing environment, while accommodating user-defined configuration, scalable processing, and flexible output handling.
[0069] Figure 3 illustrates an example display 300 associated with the data processing interface 204 described hereinabove. In some implementations, the display 300 may be- Page 19 - Docket No. 23827.3Apresented as a first page or primary view of the data processing interface 204 and may provide a consolidated set of commands and interface elements for facilitating processing and post-processing of spectroscopy data. The display 300 may be configured to guide a user through installation, configuration, execution, and / or review stages of spectroscopy data processing using the systems and workflows described in connection with Figure 2.
[0070] In the example shown in Figure 3, the display 300 includes an installation command 302 that may be configured to initiate installation of the supporting packages or libraries 214 and the spectroscopy quantification engine 216 within the secondary execution environment 212. Activation of the installation command 302 may cause the system to initialize the secondary execution environment 212, retrieve or prepare required dependencies, and configure the execution context needed to support spectroscopy quantification. In some implementations, the installation command 302 may be intended to perform a one-time setup operation for a given host computing environment 202, although the installation command 302 may also be used to verify, update, or reinitialize components as needed.
[0071] The display 300 further includes window parameters 304 that may allow a user to configure aspects of the spectroscopy processing parameters 210 associated with spectral and spatial selection. In some implementations, the window parameters 304 may include input fields or controls for specifying a spectral range using parameters such as ppm start and ppm end, as well as spatial selection parameters including row start, row end, column start, column end, slice start, and slice end. These parameters may be used to define which portions of spectroscopy data files 208 are processed and may correspond to spectral windows or spatial regions of interest applied during generation of pre-formatting files 218 and execution of the spectroscopy quantification engine 216.
[0072] In the example shown in Figure 3, the display 300 includes a scanner type indicator 306 that may be used to define a data acquisition format as part of the spectroscopy processing parameters 210. The scanner type indicator 306 may allow a user to specify whether the spectroscopy data files 208 correspond to a Siemens acquisition format or a Bruker acquisition format, which may influence how raw data and metadata are interpreted during processing. The display 300 also includes a basis set indicator 308 that may allow a user to select between different basis set options used during spectroscopy quantification, such as a basic basis set or a more comprehensive basis set that includes a greater number of spectral components (e.g., “All”). In some implementations, the basis set indicator 308 may further reflect automatic basis selection behavior based on- Page 20 - Docket No. 23827.3Acharacteristics of the spectroscopy data files 208, while still allowing user control or override.
[0073] The display 300 further includes an SP type indicator 310 that may be used to define a spectroscopy processing type associated with different anatomical locations or acquisition contexts. The SP type indicator 310 may influence default parameter values, basis selection behavior, or processing assumptions applied during spectroscopy quantification. In some implementations, the SP type indicator 310 may be used to distinguish between processing configurations associated with different tissue types or regions of interest.
[0074] In the example shown in Figure 3, the display 300 includes a water reference indicator 312 and an eddy current correction indicator 314, each of which may be used to configure optional preprocessing or correction behaviors as part of the spectroscopy processing parameters 210. The water reference indicator 312 may allow a user to enable or disable generation and use of a water reference file during spectroscopy quantification, while the eddy current correction indicator 314 may allow a user to specify whether eddy current correction is applied during processing. These indicators may correspond to settings that influence generation of pre-formatting files 218 and execution behavior of the spectroscopy quantification engine 216.
[0075] The display 300 further includes a TE indicator 316 that may be used to define echo time information as part of the spectroscopy processing parameters 210. In some implementations, the TE indicator 316 may allow a user to specify an echo time value or selection rule that influences basis set selection or processing configuration. The TE indicator 316 may support automatic selection of a basis set associated with an echo time nearest to the echo time of the spectroscopy data files 208, while also allowing manual specification or adjustment by a user.
[0076] In the example shown in Figure 3, the display 300 includes a processing panel 318 configured to facilitate processing of the spectroscopy data files 208 using the spectroscopy quantification engine 216. Within the processing panel 318, a directory selector 320 may be provided to allow a user to select the directory 206 containing the spectroscopy data files 208 to be processed. The processing panel 318 may further include a pre-formatting file generation command 322 that, when activated, causes the system to generate the pre-formatting files 218 based on the selected spectroscopy data files 208 and the configured spectroscopy processing parameters 210. The processing panel 318 may also include an execution command 324 that initiates execution of the spectroscopy- Page 21 - Docket No. 23827.3Aquantification engine 216 within the secondary execution environment 212 using the generated pre-formatting files 218. In addition, the processing panel 318 may include a convert postscript files command 326 that triggers graphics conversion 232 to convert postscript graphics files 224 generated during processing into user-accessible graphics formats.
[0077] The display 300 further includes a post-processing panel 328 configured to facilitate post-processing of the spectroscopy quantification output 220 generated by the spectroscopy quantification engine 216. Within the post-processing panel 328, an aggregation command 330 may be provided to initiate aggregation 228 of per-dataset output files 222 into a structured representation. The post-processing panel 328 may also include an SD filtering control 332 that allows a user to configure values associated with standard deviation or uncertainty filtering applied during post-processing operations 226. In addition, the post-processing panel 328 may include a quality filtering control 334 that allows a user to define thresholds associated with CRLB, FWHM, and or SNR metrics used during data filtering 230. These post-processing controls may allow users to consolidate processed data, perform automated quality assessment, and prepare result data for visualization and review within the data processing interface 204.
[0078] In some implementations, the display 300 shown in Figure 3 may function as a combined processing and post-processing module that streamlines the spectroscopy data analysis pipeline by providing coordinated access to installation, parameter configuration, execution, post-processing, and quality control operations within a single interface. This configuration may allow users to progress through spectroscopy data processing workflows in a structured manner while reducing reliance on manual file handling, external scripts, or separate analysis tools.
[0079] Figure 4 illustrates another example display 400 associated with the data processing interface 204 as described hereinabove. In some implementations, the display 400 may be presented as a separate page or view of the data processing interface 204 and may be configured to facilitate visualization generation and comparative analysis of result data 234 produced through the post-processing operations described in connection with Figure 2. The display 400 may function as a viewer module that enables users to interactively explore, compare, and analyze spectroscopy results across multiple datasets or cohorts using graphical representations generated within the host computing environment 202.- Page 22 - Docket No. 23827.3A
[0080] In the example shown in Figure 4, the display 400 includes group definition panels 402 that may be used to define groupings 238 of spectroscopy datasets represented in the result data 234. Each group definition panel 402 may correspond to a distinct group or cohort, and while Figure 4 depicts group definition panels 402 for three groups, any number of group definition panels 402 may be provided in other implementations. The group definition panels 402 may allow users to assign datasets to groups for purposes of comparative analysis, and may include editable labels or identifiers to customize group names based on user preferences or analysis context.
[0081] The display 400 further includes a dataset list 404 that may present identifiers corresponding to datasets included in the result data 234. In some implementations, the dataset list 404 may be populated after result data 234 have been generated through aggregation and data filtering operations, and may display dataset identifiers, filenames, or other metadata associated with the spectroscopy datasets. Datasets may be assigned to a group by selecting one or more entries in the dataset list 404 and transferring the selected datasets into a desired group definition panel 402 using an associated control, such as a right arrow button (e.g., “»”). Similarly, datasets may be removed from a group by selecting entries within a group definition panel 402 and using an associated control, such as a left arrow button (e.g., “«”). While Figure 4 illustrates one example framework for defining groupings 238 using the dataset list 404 and group definition panels 402, other grouping frameworks may be employed, including drag and drop interactions, checkbox based selection, rule based grouping derived from dataset attributes, and / or others.
[0082] In the example shown in Figure 4, the display 400 includes a mean spectra panel 406 that may be used to define aspects of spectral visualization for comparing group wise spectroscopy data. The mean spectra panel 406 may include controls that allow a user to toggle visibility of different components of a spectral plot, such as a residual line representing differences between raw and fitted spectra, standard deviation regions, raw spectra, and individual metabolite components. The mean spectra panel 406 may further include a draw command that, when activated, causes the system to generate one or more graphical representations showing mean spectra for one or more selected groupings 238 defined via the group definition panels 402. In some implementations, the mean spectra panel 406 may allow users to iteratively adjust visualization options and regenerate plots to explore differences between groups.
[0083] The display 400 further includes a boxplot panel 408 that may be used to define aspects of box plot visualizations generated based on the result data 234. The boxplot panel- Page 23 - Docket No. 23827.3A408 may allow a user to select which groups are included in a box plot comparison and to specify whether absolute metabolite concentrations (via “Cone ”) or metabolite ratios (via “Ratio”) are displayed. In some implementations, metabolite ratios may be normalized against internal reference metabolites, such as choline or creatine. Activation of controls within the boxplot panel 408 may cause the system to generate box plot graphical representations that summarize distributions of metabolite values across the defined groupings 238, enabling quantitative comparison of spectroscopy results between cohorts.
[0084] In some implementations, the display 400 shown in Figure 4 may provide a cohesive viewer module that supports group definition, spectral visualization, and quantitative comparison within a single interface. By enabling interactive assignment of datasets to groups and dynamic generation of graphical representations, the display 400 may facilitate exploratory analysis and comparative review of spectroscopy results generated through the processing and post-processing workflows described herein.
[0085] The displays and visualizations illustrated in Figures 3 and 4 are provided by way of example only, and the arrangement, content, organization, and / or representation of interface elements may vary across different implementations. In some implementations, functionality described in connection with Figures 3 and 4 may be distributed across additional display pages, combined into fewer pages, or presented using alternative layouts or interaction models. For example, processing controls and post-processing controls may be separated into distinct views, visualization options may be presented through expandable panels or contextual menus, or group definition and visualization controls may be integrated into a single interactive workspace. In some implementations, additional commands or parameters may be exposed, while in other implementations certain elements may be hidden or automated based on user preferences, data characteristics, or execution context. The specific visual representations, controls, and workflows shown are therefore not intended to be limiting, and other interface configurations may be employed to facilitate spectroscopy data processing, visualization, and analysis as described herein.
[0086] Experimental results described hereinbelow are provided for purposes of illustration and to demonstrate example implementations of the disclosed systems and methods. The specific datasets, experimental conditions, processing parameters, analysis methodologies, and results associated with the described experiments are presented by way of example only and are not intended to be limiting. Variations in data sources, acquisition protocols, processing configurations, statistical analyses, and evaluation criteria may be employed in other implementations, and such variations may yield different results while- Page 24 - Docket No. 23827.3Aremaining within the scope of the subject matter described herein. Accordingly, the experimental results described herein should not be interpreted as defining required features, performance thresholds, or operational characteristics of the disclosed systems and methods.
[0087] To demonstrate and validate performance of the techniques shown and described with reference to Figures 2-4, both clinical and preclinical proton magnetic resonance spectroscopy datasets were analyzed using implementations of the disclosed techniques and manual processing performed using a spectroscopy quantification engine. The clinical dataset included single-voxel spectroscopy data acquired from multiple brain regions, including the left dorsolateral prefrontal cortex, left cerebellum, and right cerebellum, in a cohort of healthy adult subjects. Data were acquired using a clinical magnetic resonance imaging system with a standard single-voxel spectroscopy acquisition sequence and acquisition parameters selected in accordance with established imaging protocols. The preclinical dataset similarly included single-voxel spectroscopy data acquired from multiple brain regions of healthy animal subjects using a high-field magnetic resonance imaging system and a corresponding spectroscopy acquisition sequence.
[0088] Statistical analysis focused on quantitative estimates of metabolites commonly reported in magnetic resonance spectroscopy studies, including N-acetylaspartate, total choline, and total creatine, as well as metabolite ratios derived therefrom. Agreement between quantification results generated using the techniques shown and described with reference to Figures 2-4 and quantification results generated using manual processing was evaluated separately for the clinical and preclinical datasets using correlation-based statistical analysis.
[0089] The techniques shown and described with reference to Figures 2-4 were evaluated using proton magnetic resonance spectroscopy data obtained in both clinical and preclinical settings. Figures 5A and 5B illustrate example visualizations corresponding to clinical single-voxel spectroscopy data acquired from multiple brain regions in a cohort of healthy subjects. In Figure 5 A, graph 502 illustrates mean spectra for the left dorsolateral prefrontal cortex, graph 504 illustrates mean spectra for the left cerebellum, and graph 506 illustrates mean spectra for the right cerebellum. In each of graphs 502, 504, and 506, the upper traces represent (1) the unsmoothed real component of frequency-domain spectroscopy data following phasing and referencing of the Fourier-transformed raw signal and averaged across subjects within the cohort and (2) represent the fitted spectrum- Page 25 - Docket No. 23827.3Agenerated by the spectroscopy quantification engine 216 and averaged across subjects. The lower trace represents the mean residual between the processed data and the fitted spectrum. Although not shown in, shaded regions may be implemented on the graphs to depict standard deviation along the spectral axis.
[0090] Figure 5B illustrates corresponding metabolite contribution plots for the same clinical datasets. Graph 508 corresponds to the anatomical region of graph 502, graph 510 corresponds to the anatomical region of graph 504, and graph 512 corresponds to the anatomical region of graph 506. These graphs illustrate individual metabolite components contributing to the fitted spectra, thereby enabling visualization of how specific metabolites contribute to the composite signal.
[0091] Figures 6A and 6B illustrate example visualizations corresponding to preclinical single-voxel spectroscopy data acquired from multiple brain regions in a cohort of healthy animal subjects. In Figure 6A, graph 602 illustrates mean spectra for cortex, graph 604 illustrates mean spectra for striatum, and graph 606 illustrates mean spectra for thalamus. In Figure 6B, graph 608, graph 610, and graph 612 illustrate corresponding metabolite contribution plots for those anatomical regions. As in the clinical examples, residual traces in the mean spectra plots are distributed about zero across the spectral range, indicating satisfactory agreement between processed data and fitted spectra within expected experimental variation.
[0092] Figures 9A through 91 and Figures 10A through 101 illustrate group-wise box plots generated for the clinical datasets. Figures 9A through 91 illustrate box plots of absolute metabolite concentrations across anatomical regions and subjects, while Figures 10A through 101 illustrate box plots of metabolite ratios normalized to total creatine. Similarly, Figures 11 A through 1 II and Figures 12A through 121 illustrate corresponding box plots for the preclinical datasets, including absolute metabolite concentrations and metabolite ratios normalized to total creatine. These graphical representations are generated from the result data 234 following aggregation 228 and data filtering 230, as described herein.
[0093] Figures 7 and 8 illustrate comparisons between quantitative results generated using the techniques shown and described with reference to Figures 2-4 and results obtained through manual spectroscopy processing. In Figure 7, graph 702, graph 704, graph 706, graph 708, and graph 710 correspond to comparisons of absolute concentrations of selected metabolites and their ratios for clinical datasets. In Figure 8, graph 802, graph 804, graph 806, graph 808, and graph 810 correspond to similar comparisons for preclinical datasets. Correlation analysis of these comparisons demonstrates strong- Page 26 - Docket No. 23827.3Aagreement between the automated batch processing framework described herein and manual processing results, indicating that the disclosed techniques reproduce quantitative metabolite estimates and derived ratios consistent with established spectroscopy workflows across both clinical and preclinical data.
[0094] The techniques shown and described herein may provide an integrated framework for processing, quantifying, and visualizing proton magnetic resonance spectroscopy data within a coordinated computing environment. By combining a host computing environment with one or more secondary execution environments configured to execute spectroscopy quantification software, the disclosed systems may facilitate preparation of input files, parameter configuration, batch execution, and post-processing of spectroscopy datasets. This coordinated architecture may reduce reliance on manual file transfers, command-line interaction, and repetitive dataset-by-dataset processing steps, while preserving compatibility with established spectroscopy quantification engines.
[0095] The disclosed framework may support automated aggregation and quality assessment of spectroscopy quantification results using objective metrics, including uncertainty and spectral quality parameters, and may enable generation of graphical representations suitable for cohort-level comparison and review. Conversion of enginegenerated graphics into user-accessible formats and consolidation of quantitative outputs into structured representations may facilitate downstream analysis and reporting workflows. The techniques described herein may be implemented with data acquired from multiple scanner vendors and acquisition types, and may be extended to support additional formats, parameter configurations, visualization features, and analysis modules without departing from the scope of the disclosed subject matter.
[0096] Experimental comparisons with manual spectroscopy processing demonstrate strong agreement in quantitative outputs across clinical and preclinical datasets, indicating that the automated execution and post-processing techniques described herein may reproduce established quantification results while providing a structured and scalable workflow for spectroscopy data analysis.
[0097] Disclosed embodiments include at least those represented in the following numbered clauses:
[0098] Clause 1. A system, comprising: one or more processors; and one or more computer-readable recording media that store instructions that are executable by the one or more processors such that the system is configurable to: present, within a host computing environment, a data processing interface; initialize a secondary execution- Page 27 - Docket No. 23827.3Aenvironment within the host computing environment; after installing a spectroscopy quantification engine and one or more supporting packages or libraries associated with the spectroscopy quantification engine within the secondary execution environment, configure one or more spectroscopy processing parameters for the spectroscopy quantification engine based on user input directed to the data processing interface; access a directory within the host computing environment, wherein the directory comprises one or more spectroscopy data files for processing; generate one or more pre-formatting files for the spectroscopy quantification engine based on the one or more spectroscopy data files and / or the one or more spectroscopy processing parameters; execute the spectroscopy quantification engine, wherein executing the spectroscopy quantification engine comprises: transferring the one or more pre-formatting files from the host computing environment to the secondary execution environment; executing a shell script within the secondary execution environment to process the one or more pre-formatting files to generate spectroscopy quantification output; and transferring the spectroscopy quantification output from the secondary execution environment to the host computing environment; generate result data by performing, within the host computing environment, one or more post-processing operations on the spectroscopy quantification output; and generate one or more graphical representations based on the result data and user input directed to the data processing interface.
[0099] Clause 2. The system of clause 1, wherein the host computing environment comprises a Windows-based computing or a macOS-based computing environment, and wherein the secondary execution environment comprises a Linux-based computing environment.
[0100] Clause 3. The system of clause 1, wherein the spectroscopy quantification engine comprises a linear combination of model spectra (LCModel) engine.
[0101] Clause 4. The system of clause 1, wherein the one or more spectroscopy data files comprise one or more proton magnetic resonance spectroscopy data files.
[0102] Clause 5. The system of clause 1, wherein the instructions are executable by the one or more processors such that system is configurable to initialize the secondary execution environment and install the spectroscopy quantification engine and the one or more supporting packages or libraries within the secondary execution environment after receiving user input directed to an installation command associated with the data processing interface.- Page 28 - Docket No. 23827.3A
[0103] Clause 6. The system of clause 1, wherein the one or more spectroscopy processing parameters comprise one or more of: a data acquisition format, a basis set, a water reference processing configuration, an eddy current correction configuration, one or more spectral window parameters, one or more spatial selection parameters for multi -voxel data, a spectroscopy processing type associated with different anatomical locations of data acquisition, or an echo time selection rule.
[0104] Clause 7. The system of clause 6, wherein the data acquisition format comprises a Siemens acquisition format or a Bruker acquisition format.
[0105] Clause 8. The system of clause 6, wherein the basis set comprises a selection from among a first basis set or a second basis set, wherein the second basis set comprises a greater number of spectral components than the first basis set.
[0106] Clause 9. The system of clause 8, wherein the basis set is automatically selected based on the one or more spectroscopy data files.
[0107] Clause 10. The system of clause 6, wherein the one or more spectral window parameters comprise one or more of: ppm range, row start, row end, column start, column end, slice start, and / or slice end.
[0108] Clause 11. The system of clause 6, wherein at least some of the one or more spectroscopy processing parameters are defined based on user input directed to the data processing interface.
[0109] Clause 12. The system of clause 1, wherein the directory is defined via user input directed to the data processing interface.
[0110] Clause 13. The system of clause 1, wherein the one or more pre-formatting files comprises one or more of: a control file specifying spectroscopy processing parameters, a raw spectroscopy data file, or a water reference file.
[0111] Clause 14. The system of clause 1, wherein the instructions are executable by the one or more processors such that the system is configurable to trigger generating of the one or more pre-formatting files based on user input directed to the data processing interface.
[0112] Clause 15. The system of clause 1, wherein the one or more spectroscopy data files comprise one or more .fid files or one or more .rda files.
[0113] Clause 16. The system of clause 1, wherein the instructions are executable by the one or more processors such that the system is configurable to, when the one or more spectroscopy data files are determined to comprise one or more two-dimensional or three-- Page 29 - Docket No. 23827.3Adimensional datasets, decompose data of the one or more spectroscopy data files into individual single-voxel spectra.
[0114] Clause 17. The system of clause 1, wherein the instructions are executable by the one or more processors such that the system is configurable to convert one or more postscript graphics files generated by the spectroscopy quantification engine into one or more user-accessible graphics formats.
[0115] Clause 18. The system of clause 17, wherein converting the one or more postscript graphics files into the one or more user-accessible graphics formats is performed based on user input directed to the data processing interface.
[0116] Clause 19. The system of clause 1, wherein the one or more post-processing operations comprise: aggregating a plurality of per-dataset output files of the spectroscopy quantification output into a structured representation; and performing one or more data filtering operations using the structured representation.
[0117] Clause 20. The system of clause 19, wherein the one or more data filtering operations are based on one or more Cramer-Rao Lower Bound (CRLB), full width half maximum (FWHM), or signal-to-noise ratio (SNR) thresholds.
[0118] Clause 21. The system of clause 20, wherein the one or more Cramer-Rao Lower Bound (CRLB), full width half maximum (FWHM), or signal-to-noise ratio (SNR) thresholds are defined based on user input directed to the data processing interface.
[0119] Clause 22. The system of clause 1, wherein the one or more graphical representations are based on groupings of spectra from the result data defined via user input directed to the data processing interface, wherein the one or more graphical representations facilitate comparative analysis of the groupings of spectra.
[0120] Clause 23. The system of clause 22, wherein the one or more graphical representations comprise one or more mean spectra plots or box plots.
[0121] Clause 24. The system of clause 1, wherein the one or more graphical representations indicate metabolite-specific contributions to one or more mean spectra.
[0122] Clause 25. The system of clause 24, wherein the metabolite-specific contributions depicted in the one or more graphical representations are determined via user input directed to the data processing interface.
[0123] Clause 26. The system of clause 1, wherein the instructions are executable by the one or more processors such that the system is configurable to present and / or export the one or more graphical representations.- Page 30 - Docket No. 23827.3A
[0124] Clause 27. The system of clause 1, wherein the instructions are executable by the one or more processors such that the system is configurable to process a plurality of spectroscopy datasets in parallel by executing multiple instances of the spectroscopy quantification engine concurrently using multiple processing resources.
[0125] Clause 28. A method, comprising: presenting, within a host computing environment, a data processing interface; initializing a secondary execution environment within the host computing environment; after installing a spectroscopy quantification engine and one or more supporting packages or libraries associated with the spectroscopy quantification engine within the secondary execution environment, configuring one or more spectroscopy processing parameters for the spectroscopy quantification engine based on user input directed to the data processing interface; accessing a directory within the host computing environment, wherein the directory comprises one or more spectroscopy data files for processing; generating one or more pre-formatting files for the spectroscopy quantification engine based on the one or more spectroscopy data files and / or the one or more spectroscopy processing parameters; executing the spectroscopy quantification engine, wherein executing the spectroscopy quantification engine comprises: transferring the one or more pre-formatting files from the host computing environment to the secondary execution environment; executing a shell script within the secondary execution environment to process the one or more pre-formatting files to generate spectroscopy quantification output; and transferring the spectroscopy quantification output from the secondary execution environment to the host computing environment; generating result data by performing, within the host computing environment, one or more post-processing operations on the spectroscopy quantification output; and generating one or more graphical representations based on the result data and user input directed to the data processing interface.
[0126] Clause 29. The method of clause 28, wherein the host computing environment comprises a Windows-based computing or a macOS-based computing environment, and wherein the secondary execution environment comprises a Linux-based computing environment.
[0127] Clause 30. The method of clause 28, wherein the spectroscopy quantification engine comprises a linear combination of model spectra (LCModel) engine.
[0128] Clause 31. The method of clause 28, wherein the one or more spectroscopy data files comprise one or more proton magnetic resonance spectroscopy data files.- Page 31 - DocketNo. 23827.3A
[0129] Clause 32. The method of clause 28, further comprising initializing the secondary execution environment and install the spectroscopy quantification engine and the one or more supporting packages or libraries within the secondary execution environment after receiving user input directed to an installation command associated with the data processing interface.
[0130] Clause 33. The method of clause 28, wherein the one or more spectroscopy processing parameters comprise one or more of: a data acquisition format, a basis set, a water reference processing configuration, an eddy current correction configuration, one or more spectral window parameters, one or more spatial selection parameters for multi -voxel data, a spectroscopy processing type associated with different anatomical locations of data acquisition, or an echo time selection rule.
[0131] Clause 34. The method of clause 33, wherein the data acquisition format comprises a Siemens acquisition format or a Bruker acquisition format.
[0132] Clause 35. The method of clause 33, wherein the basis set comprises a selection from among a first basis set or a second basis set, wherein the second basis set comprises a greater number of spectral components than the first basis set.
[0133] Clause 36. The method of clause 35, wherein the basis set is automatically selected based on the one or more spectroscopy data files.
[0134] Clause 37. The method of clause 33, wherein the one or more spectral window parameters comprise one or more of: ppm range, row start, row end, column start, column end, slice start, and / or slice end.
[0135] Clause 38. The method of clause 33, wherein at least some of the one or more spectroscopy processing parameters are defined based on user input directed to the data processing interface.
[0136] Clause 39. The method of clause 28, wherein the directory is defined via user input directed to the data processing interface.
[0137] Clause 40. The method of clause 28, wherein the one or more pre-formatting files comprises one or more of: a control file specifying spectroscopy processing parameters, a raw spectroscopy data file, or a water reference file.
[0138] Clause 41. The method of clause 28, further comprising triggering generating of the one or more pre-formatting files based on user input directed to the data processing interface.
[0139] Clause 42. The method of clause 28, wherein the one or more spectroscopy data files comprise one or more .fid files or one or more .rda files.- Page 32 - Docket No. 23827.3A
[0140] Clause 43. The method of clause 28, further comprising, when the one or more spectroscopy data files are determined to comprise one or more two-dimensional or three-dimensional datasets, decomposing data of the one or more spectroscopy data files into individual single-voxel spectra.
[0141] Clause 44. The method of clause 28, further comprising converting one or more postscript graphics files generated by the spectroscopy quantification engine into one or more user-accessible graphics formats.
[0142] Clause 45. The method of clause 44, wherein converting the one or more postscript graphics files into the one or more user-accessible graphics formats is performed based on user input directed to the data processing interface.
[0143] Clause 46. The method of clause 28, wherein the one or more post-processing operations comprise: aggregating a plurality of per-dataset output files of the spectroscopy quantification output into a structured representation; and performing one or more data filtering operations using the structured representation.
[0144] Clause 47. The method of clause 46, wherein the one or more data filtering operations are based on one or more Cramer-Rao Lower Bound (CRLB), full width half maximum (FWHM), or signal-to-noise ratio (SNR) thresholds.
[0145] Clause 48. The method of clause 47, wherein the one or more Cramer-Rao Lower Bound (CRLB), full width half maximum (FWHM), or signal-to-noise ratio (SNR) thresholds are defined based on user input directed to the data processing interface.
[0146] Clause 49. The method of clause 28, wherein the one or more graphical representations are based on groupings of spectra from the result data defined via user input directed to the data processing interface, wherein the one or more graphical representations facilitate comparative analysis of the groupings of spectra.
[0147] Clause 50. The method of clause 49, wherein the one or more graphical representations comprise one or more mean spectra plots or box plots.
[0148] Clause 51. The method of clause 28, wherein the one or more graphical representations indicate metabolite-specific contributions to one or more mean spectra.
[0149] Clause 52. The method of clause 51, wherein the metabolite-specific contributions depicted in the one or more graphical representations are determined via user input directed to the data processing interface.
[0150] Clause 53. The method of clause 28, further comprising presenting and / or export the one or more graphical representations.- Page 33 - Docket No. 23827.3A
[0151] Clause 54. The method of clause 28, further comprising processing a plurality of spectroscopy datasets in parallel by executing multiple instances of the spectroscopy quantification engine concurrently using multiple processing resources.
[0152] Clause 55. One or more computer-readable recording media that store instructions that are executable by one or more processors of a system such that the system is configurable to: present, within a host computing environment, a data processing interface; initialize a secondary execution environment within the host computing environment; after installing a spectroscopy quantification engine and one or more supporting packages or libraries associated with the spectroscopy quantification engine within the secondary execution environment, configure one or more spectroscopy processing parameters for the spectroscopy quantification engine based on user input directed to the data processing interface; access a directory within the host computing environment, wherein the directory comprises one or more spectroscopy data files for processing; generate one or more pre-formatting files for the spectroscopy quantification engine based on the one or more spectroscopy data files and / or the one or more spectroscopy processing parameters; execute the spectroscopy quantification engine, wherein executing the spectroscopy quantification engine comprises: transferring the one or more pre-formatting files from the host computing environment to the secondary execution environment; executing a shell script within the secondary execution environment to process the one or more pre-formatting files to generate spectroscopy quantification output; and transferring the spectroscopy quantification output from the secondary execution environment to the host computing environment; generate result data by performing, within the host computing environment, one or more post-processing operations on the spectroscopy quantification output; and generate one or more graphical representations based on the result data and user input directed to the data processing interface.
[0153] Clause 56. The one or more computer-readable recording media of clause 55, wherein the host computing environment comprises a Windows-based computing or a macOS-based computing environment, and wherein the secondary execution environment comprises a Linux-based computing environment.
[0154] Clause 57. The one or more computer-readable recording media of clause 55, wherein the spectroscopy quantification engine comprises a linear combination of model spectra (LCModel) engine.- Page 34 - Docket No. 23827.3A
[0155] Clause 58. The one or more computer-readable recording media of clause 55, wherein the one or more spectroscopy data files comprise one or more proton magnetic resonance spectroscopy data files.
[0156] Clause 59. The one or more computer-readable recording media of clause 55, wherein the instructions are executable by the one or more processors such that system is configurable to initialize the secondary execution environment and install the spectroscopy quantification engine and the one or more supporting packages or libraries within the secondary execution environment after receiving user input directed to an installation command associated with the data processing interface.
[0157] Clause 60. The one or more computer-readable recording media of clause 55, wherein the one or more spectroscopy processing parameters comprise one or more of: a data acquisition format, a basis set, a water reference processing configuration, an eddy current correction configuration, one or more spectral window parameters, one or more spatial selection parameters for multi-voxel data, a spectroscopy processing type associated with different anatomical locations of data acquisition, or an echo time selection rule.
[0158] Clause 61. The one or more computer-readable recording media of clause 60, wherein the data acquisition format comprises a Siemens acquisition format or a Bruker acquisition format.
[0159] Clause 62. The one or more computer-readable recording media of clause 60, wherein the basis set comprises a selection from among a first basis set or a second basis set, wherein the second basis set comprises a greater number of spectral components than the first basis set.
[0160] Clause 63. The one or more computer-readable recording media of clause 62, wherein the basis set is automatically selected based on the one or more spectroscopy data files.
[0161] Clause 64. The one or more computer-readable recording media of clause 60, wherein the one or more spectral window parameters comprise one or more of: ppm range, row start, row end, column start, column end, slice start, and / or slice end.
[0162] Clause 65. The one or more computer-readable recording media of clause 60, wherein at least some of the one or more spectroscopy processing parameters are defined based on user input directed to the data processing interface.
[0163] Clause 66. The one or more computer-readable recording media of clause 55, wherein the directory is defined via user input directed to the data processing interface.- Page 35 - Docket No. 23827.3A
[0164] Clause 67. The one or more computer-readable recording media of clause 55, wherein the one or more pre-formatting files comprises one or more of: a control file specifying spectroscopy processing parameters, a raw spectroscopy data file, or a water reference file.
[0165] Clause 68. The one or more computer-readable recording media of clause 55, wherein the instructions are executable by the one or more processors such that the system is configurable to trigger generating of the one or more pre-formatting files based on user input directed to the data processing interface.
[0166] Clause 69. The one or more computer-readable recording media of clause 55, wherein the one or more spectroscopy data files comprise one or more .fid files or one or more .rda files.
[0167] Clause 70. The one or more computer-readable recording media of clause 55, wherein the instructions are executable by the one or more processors such that the system is configurable to, when the one or more spectroscopy data files are determined to comprise one or more two-dimensional or three-dimensional datasets, decompose data of the one or more spectroscopy data files into individual single-voxel spectra.
[0168] Clause 71. The one or more computer-readable recording media of clause 55, wherein the instructions are executable by the one or more processors such that the system is configurable to convert one or more postscript graphics files generated by the spectroscopy quantification engine into one or more user-accessible graphics formats.
[0169] Clause 72. The one or more computer-readable recording media of clause 71, wherein converting the one or more postscript graphics files into the one or more user-accessible graphics formats is performed based on user input directed to the data processing interface.
[0170] Clause 73. The one or more computer-readable recording media of clause 55, wherein the one or more post-processing operations comprise: aggregating a plurality of per-dataset output files of the spectroscopy quantification output into a structured representation; and performing one or more data filtering operations using the structured representation.
[0171] Clause 74. The one or more computer-readable recording media of clause 73, wherein the one or more data filtering operations are based on one or more Cramer-Rao Lower Bound (CRLB), full width half maximum (FWHM), or signal-to-noise ratio (SNR) thresholds.- Page 36 - Docket No. 23827.3A
[0172] Clause 75. The one or more computer-readable recording media of clause 74, wherein the one or more Cramer-Rao Lower Bound (CRLB), full width half maximum (FWHM), or signal-to-noise ratio (SNR) thresholds are defined based on user input directed to the data processing interface.
[0173] Clause 76. The one or more computer-readable recording media of clause 55, wherein the one or more graphical representations are based on groupings of spectra from the result data defined via user input directed to the data processing interface, wherein the one or more graphical representations facilitate comparative analysis of the groupings of spectra.
[0174] Clause 77. The one or more computer-readable recording media of clause 76, wherein the one or more graphical representations comprise one or more mean spectra plots or box plots.
[0175] Clause 78. The one or more computer-readable recording media of clause 55, wherein the one or more graphical representations indicate metabolite-specific contributions to one or more mean spectra.
[0176] Clause 79. The one or more computer-readable recording media of clause 78, wherein the metabolite-specific contributions depicted in the one or more graphical representations are determined via user input directed to the data processing interface.
[0177] Clause 80. The one or more computer-readable recording media of clause 55, wherein the instructions are executable by the one or more processors such that the system is configurable to present and / or export the one or more graphical representations.
[0178] Clause 81. The one or more computer-readable recording media of clause 55, wherein the instructions are executable by the one or more processors such that the system is configurable to process a plurality of spectroscopy datasets in parallel by executing multiple instances of the spectroscopy quantification engine concurrently using multiple processing resources.
[0179] Additional Details Related to Implementing the Disclosed Embodiments
[0180] Disclosed embodiments may comprise or utilize a special-purpose or general-purpose computer including computer hardware, as discussed in greater detail below. Disclosed embodiments may also include physical and other computer-readable recording media for carrying or storing computer-executable instructions and / or data structures. Such computer-readable recording media can be any available media that can be accessed by a general-purpose or special-purpose computer system. Computer-readable recording- Page 37 - Docket No. 23827.3Amedia that store computer-executable instructions in the form of data are referred to herein as “physical computer storage media” or “hardware storage device(s).” Computer-readable media that merely carry computer-executable instructions without storing the instructions are referred to herein as “transmission media.” Thus, by way of example and not limitation, the current embodiments can comprise at least two distinctly different kinds of computer-readable media: computer storage media and transmission media.
[0181] Computer storage media (also referred to as “hardware storage devices”) are tangible, non-transitory computer-readable media that store information such as computerexecutable instructions, data, or data structures. Examples include, but are not limited to, random access memory (RAM), read-only memory (ROM), erasable programmable readonly memory (EPROM), electrically erasable programmable read-only memory (EEPROM), flash memory, solid-state drives (SSDs), hard-disk drives (HDDs), optical disks (e.g., CD, DVD, or Blu-ray disks), magnetic cassettes, magnetic tape, magnetic disk storage, phase-change memory (PCM), resistive random-access memory (ReRAM), magnetoresistive random-access memory (MRAM), persistent memory, or any other medium that can be used to store desired program code in hardware form and that can be accessed by a computing device.
[0182] A “network” refers to one or more data links that enable the transport of electronic data between computer systems, modules, or other electronic devices. When information is transferred or provided over a network or another communication connection (either hard-wired, wireless, or a combination of both) to a computer, the computer properly views the connection as a transmission medium. Transmission media can include networks and / or data links that carry program code in the form of computerexecutable instructions or data structures and that can be accessed by a general-purpose or special-purpose computer. Examples include, without limitation, wired networks (e.g., Ethernet), wireless networks (e.g., Wi-Fi, Bluetooth, ultra-wideband, cellular, or satellite links), optical links, or any combination thereof. Combinations of the foregoing are also included within the scope of computer-readable media.
[0183] Upon reaching various computer system components, program code in the form of computer-executable instructions or data structures can be transferred automatically from transmission computer-readable media to physical computer-readable storage media (or vice versa). For example, computer-executable instructions or data structures received over a network or data link can be buffered in RAM within a network interface controller (NIC) or other communication interface and then transferred to RAM- Page 38 - Docket No. 23827.3Aand / or to less volatile computer-readable physical storage media of the computer system. Accordingly, computer-readable physical storage media can be included in computer system components that also (or primarily) utilize transmission media.
[0184] Computer-executable instructions comprise, for example, instructions and data that cause a general-purpose computer, special-purpose computer, or special-purpose processing device to perform a particular function or group of functions. The computerexecutable instructions may include, for example, binaries, intermediate-level instructions (such as assembly language or bytecode), or source code. Although the subject matter herein is described in language specific to structural features and / or methodological acts, it is to be understood that the subject matter defined in the appended claims is not necessarily limited to the described features or acts. Rather, the described features and acts are presented as example forms of implementing the claimed subject matter.
[0185] Disclosed embodiments may comprise or utilize cloud computing or distributed computing infrastructure. A cloud model can be composed of various characteristics (e.g., on-demand self-service, broad network access, resource pooling, rapid elasticity, measured service, and virtualization), service models (e.g., Software as a Service (SaaS), Platform as a Service (PaaS), Infrastructure as a Service (laaS), or Function as a Service (FaaS)), and deployment models (e.g., private cloud, community cloud, public cloud, hybrid cloud, or edge-cloud configurations). In some cases, containerization, orchestration frameworks, or serverless architectures may be used to provision and execute code implementing aspects of the disclosed embodiments.
[0186] Those skilled in the art will appreciate that at least some aspects of the invention may be practiced in network computing environments with many types of computer system configurations, including personal computers, desktop computers, laptop computers, tablets, smartphones, message processors, microprocessor-based or programmable consumer electronics, multi-processor systems, embedded devices, wearable devices, network PCs, minicomputers, mainframe computers, routers, switches, and the like. The invention may also be practiced in distributed or parallel system environments in which multiple computer systems (e.g., local and remote systems) linked through a network — by hard-wired, wireless, or hybrid data links — perform coordinated tasks. In a distributed or parallel computing environment, program modules and data may be located in local and / or remote memory storage devices, and processing may be shared across nodes, clusters, or virtual instances.- Page 39 - Docket No. 23827.3A
[0187] Alternatively, or in addition, at least some of the functionality described herein can be performed, at least in part, by one or more hardware logic components. Without limitation, illustrative types of hardware logic components that can be used include field-programmable gate arrays (FPGAs), application-specific integrated circuits (ASICs), application-specific standard products (ASSPs), system-on-chip (SoC) devices, complex programmable logic devices (CPLDs), central processing units (CPUs), graphics processing units (GPUs), tensor processing units (TPUs), neural processing units (NPUs), quantum processors, neuromorphic processors, or other specialized hardware accelerators.
[0188] As used herein, the terms “executable module,” “executable component,” “component,” “module,” or “engine” can refer to hardware processing units or to software objects, routines, or methods that may be executed on one or more computer systems. The different components, modules, engines, and services described herein may be implemented as objects or processes that execute on one or more computer systems (e.g., as separate threads, processes, or containers) and may communicate via message passing, shared memory, or networked interfaces.
[0189] It will be appreciated that any feature or operation disclosed herein may be combined with any one or combination of other features and operations disclosed herein. Additionally, the content or feature in any one of the figures may be combined or used in connection with any content or feature disclosed in any of the other figures. In this regard, the content disclosed in any one figure is not mutually exclusive and instead may be combinable with the content from any of the other figures.
[0190] The present invention may be embodied in other specific forms without departing from its spirit or characteristics. The described embodiments are to be considered in all respects only as illustrative and not restrictive. The scope of the invention is, therefore, indicated by the appended claims rather than by the foregoing description. All changes which come within the meaning and range of equivalency of the claims are to be embraced within their scope.- Page 40 - Docket No. 23827.3A
Claims
CLAIMSWhat is currently claimed is:
1. A system, comprising:one or more processors; andone or more computer-readable recording media that store instructions that are executable by the one or more processors such that the system is configurable to:present, within a host computing environment, a data processing interface;initialize a secondary execution environment within the host computing environment;after installing a spectroscopy quantification engine and one or more supporting packages or libraries associated with the spectroscopy quantification engine within the secondary execution environment, configure one or more spectroscopy processing parameters for the spectroscopy quantification engine based on user input directed to the data processing interface;access a directory within the host computing environment, wherein the directory comprises one or more spectroscopy data files for processing;generate one or more pre-formatting files for the spectroscopy quantification engine based on the one or more spectroscopy data files and / or the one or more spectroscopy processing parameters;execute the spectroscopy quantification engine, wherein executing the spectroscopy quantification engine comprises:transferring the one or more pre-formatting files from the host computing environment to the secondary execution environment;executing a shell script within the secondary execution environment to process the one or more pre-formatting files to generate spectroscopy quantification output; andtransferring the spectroscopy quantification output from the secondary execution environment to the host computing environment;- Page 41 - Docket No. 23827.3Agenerate result data by performing, within the host computing environment, one or more post-processing operations on the spectroscopy quantification output; andgenerate one or more graphical representations based on the result data and user input directed to the data processing interface.
2. The system of claim 1, wherein the host computing environment comprises a Windows-based computing or a macOS-based computing environment, and wherein the secondary execution environment comprises a Linux-based computing environment.
3. The system of claim 1, wherein the spectroscopy quantification engine comprises a linear combination of model spectra (LCModel) engine.
4. The system of claim 1, wherein the one or more spectroscopy data files comprise one or more proton magnetic resonance spectroscopy data files.
5. The system of claim 1, wherein the instructions are executable by the one or more processors such that system is configurable to initialize the secondary execution environment and install the spectroscopy quantification engine and the one or more supporting packages or libraries within the secondary execution environment after receiving user input directed to an installation command associated with the data processing interface.
6. The system of claim 1, wherein the one or more spectroscopy processing parameters comprise one or more of a data acquisition format, a basis set, a water reference processing configuration, an eddy current correction configuration, one or more spectral window parameters, one or more spatial selection parameters for multivoxel data, a spectroscopy processing type associated with different anatomical locations of data acquisition, or an echo time selection rule.
7. The system of claim 6, wherein the data acquisition format comprises a Siemens acquisition format or a Bruker acquisition format.
8. The system of claim 6, wherein the basis set comprises a selection from among a first basis set or a second basis set, wherein the second basis set comprises a greater number of spectral components than the first basis set.
9. The system of claim 8, wherein the basis set is automatically selected based on the one or more spectroscopy data files.
10. The system of claim 6, wherein the one or more spectral window parameters comprise one or more of ppm range, row start, row end, column start, column end, slice start, and / or slice end.- Page 42 - Docket No. 23827.3A11. The system of claim 6, wherein at least some of the one or more spectroscopy processing parameters are defined based on user input directed to the data processing interface.
12. The system of claim 1, wherein the directory is defined via user input directed to the data processing interface.
13. The system of claim 1, wherein the one or more pre-formatting files comprises one or more of: a control file specifying spectroscopy processing parameters, a raw spectroscopy data file, or a water reference file.
14. The system of claim 1, wherein the instructions are executable by the one or more processors such that the system is configurable to trigger generating of the one or more pre-formatting files based on user input directed to the data processing interface.
15. The system of claim 1, wherein the one or more spectroscopy data files comprise one or more .fid files or one or more .rda files.
16. The system of claim 1, wherein the instructions are executable by the one or more processors such that the system is configurable to, when the one or more spectroscopy data files are determined to comprise one or more two-dimensional or three-dimensional datasets, decompose data of the one or more spectroscopy data files into individual single-voxel spectra.
17. The system of claim 1, wherein the instructions are executable by the one or more processors such that the system is configurable to convert one or more postscript graphics files generated by the spectroscopy quantification engine into one or more user-accessible graphics formats.
18. The system of claim 17, wherein converting the one or more postscript graphics files into the one or more user-accessible graphics formats is performed based on user input directed to the data processing interface.
19. The system of claim 1, wherein the one or more post-processing operations comprise:aggregating a plurality of per-dataset output files of the spectroscopy quantification output into a structured representation; andperforming one or more data filtering operations using the structured representation.
20. The system of claim 19, wherein the one or more data filtering operations are based on one or more Cramer-Rao Lower Bound (CRLB), full width half maximum (FWHM), or signal-to-noise ratio (SNR) thresholds.- Page 43 - Docket No. 23827.3A21. The system of claim 20, wherein the one or more Cramer-Rao Lower Bound (CRLB), full width half maximum (FWHM), or signal-to-noise ratio (SNR) thresholds are defined based on user input directed to the data processing interface.
22. The system of claim 1, wherein the one or more graphical representations are based on groupings of spectra from the result data defined via user input directed to the data processing interface, wherein the one or more graphical representations facilitate comparative analysis of the groupings of spectra.
23. The system of claim 22, wherein the one or more graphical representations comprise one or more mean spectra plots or box plots.
24. The system of claim 1, wherein the one or more graphical representations indicate metabolite-specific contributions to one or more mean spectra.
25. The system of claim 24, wherein the metabolite-specific contributions depicted in the one or more graphical representations are determined via user input directed to the data processing interface.
26. The system of claim 1, wherein the instructions are executable by the one or more processors such that the system is configurable to present and / or export the one or more graphical representations.
27. The system of claim 1, wherein the instructions are executable by the one or more processors such that the system is configurable to process a plurality of spectroscopy datasets in parallel by executing multiple instances of the spectroscopy quantification engine concurrently using multiple processing resources.
28. A method, comprising:presenting, within a host computing environment, a data processing interface;initializing a secondary execution environment within the host computing environment;after installing a spectroscopy quantification engine and one or more supporting packages or libraries associated with the spectroscopy quantification engine within the secondary execution environment, configuring one or more spectroscopy processing parameters for the spectroscopy quantification engine based on user input directed to the data processing interface;accessing a directory within the host computing environment, wherein the directory comprises one or more spectroscopy data files for processing;- Page 44 - Docket No. 23827.3Agenerating one or more pre-formatting files for the spectroscopy quantification engine based on the one or more spectroscopy data files and / or the one or more spectroscopy processing parameters;executing the spectroscopy quantification engine, wherein executing the spectroscopy quantification engine comprises:transferring the one or more pre-formatting files from the host computing environment to the secondary execution environment;executing a shell script within the secondary execution environment to process the one or more pre-formatting files to generate spectroscopy quantification output; andtransferring the spectroscopy quantification output from the secondary execution environment to the host computing environment; generating result data by performing, within the host computing environment, one or more post-processing operations on the spectroscopy quantification output; andgenerating one or more graphical representations based on the result data and user input directed to the data processing interface.
29. The method of claim 28, wherein the host computing environment comprises a Windows-based computing or a macOS-based computing environment, and wherein the secondary execution environment comprises a Linux-based computing environment.
30. The method of claim 28, wherein the spectroscopy quantification engine comprises a linear combination of model spectra (LCModel) engine.
31. The method of claim 28, wherein the one or more spectroscopy data files comprise one or more proton magnetic resonance spectroscopy data files.
32. The method of claim 28, further comprising initializing the secondary execution environment and install the spectroscopy quantification engine and the one or more supporting packages or libraries within the secondary execution environment after receiving user input directed to an installation command associated with the data processing interface.
33. The method of claim 28, wherein the one or more spectroscopy processing parameters comprise one or more of: a data acquisition format, a basis set, a water reference processing configuration, an eddy current correction configuration, one or more spectral window parameters, one or more spatial selection parameters for multi-- Page 45 - Docket No. 23827.3Avoxel data, a spectroscopy processing type associated with different anatomical locations of data acquisition, or an echo time selection rule.
34. The method of claim 33, wherein the data acquisition format comprises a Siemens acquisition format or a Bruker acquisition format.
35. The method of claim 33, wherein the basis set comprises a selection from among a first basis set or a second basis set, wherein the second basis set comprises a greater number of spectral components than the first basis set.
36. The method of claim 35, wherein the basis set is automatically selected based on the one or more spectroscopy data files.
37. The method of claim 33, wherein the one or more spectral window parameters comprise one or more of: ppm range, row start, row end, column start, column end, slice start, and / or slice end.
38. The method of claim 33, wherein at least some of the one or more spectroscopy processing parameters are defined based on user input directed to the data processing interface.
39. The method of claim 28, wherein the directory is defined via user input directed to the data processing interface.
40. The method of claim 28, wherein the one or more pre-formatting files comprises one or more of: a control file specifying spectroscopy processing parameters, a raw spectroscopy data file, or a water reference file.
41. The method of claim 28, further comprising triggering generating of the one or more pre-formatting files based on user input directed to the data processing interface.
42. The method of claim 28, wherein the one or more spectroscopy data files comprise one or more .fid files or one or more .rda files.
43. The method of claim 28, further comprising, when the one or more spectroscopy data files are determined to comprise one or more two-dimensional or three-dimensional datasets, decomposing data of the one or more spectroscopy data files into individual single-voxel spectra.
44. The method of claim 28, further comprising converting one or more postscript graphics files generated by the spectroscopy quantification engine into one or more user-accessible graphics formats.
45. The method of claim 44, wherein converting the one or more postscript graphics files into the one or more user-accessible graphics formats is performed based on user input directed to the data processing interface.- Page 46 - Docket No. 23827.3A46. The method of claim 28, wherein the one or more post-processing operations comprise:aggregating a plurality of per-dataset output files of the spectroscopy quantification output into a structured representation; andperforming one or more data filtering operations using the structured representation.
47. The method of claim 46, wherein the one or more data filtering operations are based on one or more Cramer-Rao Lower Bound (CRLB), full width half maximum (FWHM), or signal-to-noise ratio (SNR) thresholds.
48. The method of claim 47, wherein the one or more Cramer-Rao Lower Bound (CRLB), full width half maximum (FWHM), or signal-to-noise ratio (SNR) thresholds are defined based on user input directed to the data processing interface.
49. The method of claim 28, wherein the one or more graphical representations are based on groupings of spectra from the result data defined via user input directed to the data processing interface, wherein the one or more graphical representations facilitate comparative analysis of the groupings of spectra.
50. The method of claim 49, wherein the one or more graphical representations comprise one or more mean spectra plots or box plots.
51. The method of claim 28, wherein the one or more graphical representations indicate metabolite-specific contributions to one or more mean spectra.
52. The method of claim 51, wherein the metabolite-specific contributions depicted in the one or more graphical representations are determined via user input directed to the data processing interface.
53. The method of claim 28, further comprising presenting and / or export the one or more graphical representations.
54. The method of claim 28, further comprising processing a plurality of spectroscopy datasets in parallel by executing multiple instances of the spectroscopy quantification engine concurrently using multiple processing resources.
55. One or more computer-readable recording media that store instructions that are executable by one or more processors of a system such that the system is configurable to:present, within a host computing environment, a data processing interface; initialize a secondary execution environment within the host computing environment;- Page 47 - Docket No. 23827.3Aafter installing a spectroscopy quantification engine and one or more supporting packages or libraries associated with the spectroscopy quantification engine within the secondary execution environment, configure one or more spectroscopy processing parameters for the spectroscopy quantification engine based on user input directed to the data processing interface;access a directory within the host computing environment, wherein the directory comprises one or more spectroscopy data files for processing;generate one or more pre-formatting files for the spectroscopy quantification engine based on the one or more spectroscopy data files and / or the one or more spectroscopy processing parameters;execute the spectroscopy quantification engine, wherein executing the spectroscopy quantification engine comprises:transferring the one or more pre-formatting files from the host computing environment to the secondary execution environment;executing a shell script within the secondary execution environment to process the one or more pre-formatting files to generate spectroscopy quantification output; andtransferring the spectroscopy quantification output from the secondary execution environment to the host computing environment; generate result data by performing, within the host computing environment, one or more post-processing operations on the spectroscopy quantification output; andgenerate one or more graphical representations based on the result data and user input directed to the data processing interface.
56. The one or more computer-readable recording media of claim 55, wherein the host computing environment comprises a Windows-based computing or a macOS-based computing environment, and wherein the secondary execution environment comprises a Linux-based computing environment.
57. The one or more computer-readable recording media of claim 55, wherein the spectroscopy quantification engine comprises a linear combination of model spectra (LCModel) engine.
58. The one or more computer-readable recording media of claim 55, wherein the one or more spectroscopy data files comprise one or more proton magnetic resonance spectroscopy data files.- Page 48 - Docket No. 23827.3A59. The one or more computer-readable recording media of claim 55, wherein the instructions are executable by the one or more processors such that system is configurable to initialize the secondary execution environment and install the spectroscopy quantification engine and the one or more supporting packages or libraries within the secondary execution environment after receiving user input directed to an installation command associated with the data processing interface.
60. The one or more computer-readable recording media of claim 55, wherein the one or more spectroscopy processing parameters comprise one or more of: a data acquisition format, a basis set, a water reference processing configuration, an eddy current correction configuration, one or more spectral window parameters, one or more spatial selection parameters for multi-voxel data, a spectroscopy processing type associated with different anatomical locations of data acquisition, or an echo time selection rule.
61. The one or more computer-readable recording media of claim 60, wherein the data acquisition format comprises a Siemens acquisition format or a Bruker acquisition format.
62. The one or more computer-readable recording media of claim 60, wherein the basis set comprises a selection from among a first basis set or a second basis set, wherein the second basis set comprises a greater number of spectral components than the first basis set.
63. The one or more computer-readable recording media of claim 62, wherein the basis set is automatically selected based on the one or more spectroscopy data files.
64. The one or more computer-readable recording media of claim 60, wherein the one or more spectral window parameters comprise one or more of: ppm range, row start, row end, column start, column end, slice start, and / or slice end.
65. The one or more computer-readable recording media of claim 60, wherein at least some of the one or more spectroscopy processing parameters are defined based on user input directed to the data processing interface.
66. The one or more computer-readable recording media of claim 55, wherein the directory is defined via user input directed to the data processing interface.
67. The one or more computer-readable recording media of claim 55, wherein the one or more pre-formatting files comprises one or more of: a control file specifying spectroscopy processing parameters, a raw spectroscopy data file, or a water reference file.- Page 49 - Docket No. 23827.3A68. The one or more computer-readable recording media of claim 55, wherein the instructions are executable by the one or more processors such that the system is configurable to trigger generating of the one or more pre-formatting files based on user input directed to the data processing interface.
69. The one or more computer-readable recording media of claim 55, wherein the one or more spectroscopy data files comprise one or more .fid files or one or more .rda files.
70. The one or more computer-readable recording media of claim 55, wherein the instructions are executable by the one or more processors such that the system is configurable to, when the one or more spectroscopy data files are determined to comprise one or more two-dimensional or three-dimensional datasets, decompose data of the one or more spectroscopy data files into individual single-voxel spectra.
71. The one or more computer-readable recording media of claim 55, wherein the instructions are executable by the one or more processors such that the system is configurable to convert one or more postscript graphics files generated by the spectroscopy quantification engine into one or more user-accessible graphics formats.
72. The one or more computer-readable recording media of claim 71, wherein converting the one or more postscript graphics files into the one or more user-accessible graphics formats is performed based on user input directed to the data processing interface.
73. The one or more computer-readable recording media of claim 55, wherein the one or more post-processing operations comprise:aggregating a plurality of per-dataset output files of the spectroscopy quantification output into a structured representation; andperforming one or more data filtering operations using the structured representation.
74. The one or more computer-readable recording media of claim 73, wherein the one or more data filtering operations are based on one or more Cramer-Rao Lower Bound (CRLB), full width half maximum (FWHM), or signal-to-noise ratio (SNR) thresholds.
75. The one or more computer-readable recording media of claim 74, wherein the one or more Cramer-Rao Lower Bound (CRLB), full width half maximum (FWHM), or signal-to-noise ratio (SNR) thresholds are defined based on user input directed to the data processing interface.
76. The one or more computer-readable recording media of claim 55, wherein the one or more graphical representations are based on groupings of spectra from the result data- Page 50 - Docket No. 23827.3Adefined via user input directed to the data processing interface, wherein the one or more graphical representations facilitate comparative analysis of the groupings of spectra.
77. The one or more computer-readable recording media of claim 76, wherein the one or more graphical representations comprise one or more mean spectra plots or box plots.
78. The one or more computer-readable recording media of claim 55, wherein the one or more graphical representations indicate metabolite-specific contributions to one or more mean spectra.
79. The one or more computer-readable recording media of claim 78, wherein the metabolite-specific contributions depicted in the one or more graphical representations are determined via user input directed to the data processing interface.
80. The one or more computer-readable recording media of claim 55, wherein the instructions are executable by the one or more processors such that the system is configurable to present and / or export the one or more graphical representations.
81. The one or more computer-readable recording media of claim 55, wherein the instructions are executable by the one or more processors such that the system is configurable to process a plurality of spectroscopy datasets in parallel by executing multiple instances of the spectroscopy quantification engine concurrently using multiple processing resources.- Page 51 - DocketNo. 23827.3A