Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.chemolytic.com/llms.txt

Use this file to discover all available pages before exploring further.

Click Upload Spectra on the Spectra page to open the upload dialog.
Upload spectra dialog showing sensor picker and CSV file drop zone
The upload flow has up to four steps. Property extraction (step 2) is optional.
Spectra with the same sample name are treated as replicas, not duplicates.Unlike samples (where the same name updates the existing record), uploading multiple spectra with the same sample name creates multiple spectra all linked to the same sample. This is intentional: real lab workflows produce multiple measurements per sample (different runs, different days, different operators).If you upload 3 files all named Sample-001.csv, you get one sample with three spectra attached. All three are used together in datasets and models.

Step 1: select sensor and files

Choose the sensor that produced the files. The dropdown shows all sensors registered in this project, formatted as name — manufacturer model. Drag and drop your CSV files into the upload zone, or click to browse. Multiple files at once are supported.
If your sensor was created from the catalog, Chemolytic uses the built-in importer for that instrument’s raw file format.If your sensor is custom, your files must follow the Chemolytic standard CSV format (see below).

File requirements

RequirementValue
File extension.csv
EncodingUTF-8
Files per uploadMultiple files allowed in one batch

Standard CSV format (custom sensors)

For custom sensors, each file must be in long format with three columns:
ColumnNotes
sample_nameThe name of the sample this row’s data point belongs to
xWavelength or wavenumber value
yIntensity value at that wavelength
You can include multiple samples in a single file. Each sample is identified by its sample_name. One row per data point per sample. Example:
sample_name,x,y
Sample-001,950.0,0.245
Sample-001,952.0,0.251
Sample-001,954.0,0.258
Sample-002,950.0,0.301
Sample-002,952.0,0.298
For catalog sensors, just upload the raw files exported by your instrument software. Chemolytic knows how to read them. The filename (without .csv) becomes the sample name.
Click Next to proceed.

Step 2: property extraction (optional)

If your filenames contain useful information about the samples (e.g., oliveoil-batch12-arabica.csv), you can extract that information into sample properties automatically.
Property extraction step showing delimiter picker and a position assignment table

How extraction works

  1. Pick a delimiter that separates the parts of your filenames: dash (-), underscore (_), dot (.), comma, space, or a custom character
  2. Chemolytic splits each filename by the delimiter, showing every position in a preview table
  3. For each position, choose Skip or Extract
  4. For positions you extract, pick (or create) the property to fill, and set the type (Continuous or Categorical)

Example

For files named oliveoil-batch12-arabica.csv and oliveoil-batch13-robusta.csv, with delimiter -:
PositionSample previewActionPropertyType
1oliveoilSkip
2batch12, batch13ExtractBatchCategorical
3arabica, robustaExtractVarietyCategorical
This creates two new properties (Batch and Variety) and assigns the right value to each sample automatically.
Properties created during extraction follow the same rules as manually created properties. New property names must be alphanumeric (with underscores allowed). Categorical properties need at least 2 unique values across your files.

Errors at this step

ErrorCause
Name at least one position to extract a property.You toggled extraction on but didn’t name any property
Duplicate property name: "{name}"Two positions are extracting into the same property

Skip extraction

If your filenames don’t contain useful information, click Skip. Each file’s name (without .csv) becomes the sample name and that’s it. Click Parse & extract (or Skip) to proceed.

Step 3: review and select

The review step has two tabs.

Properties tab

Shows the extracted property values for each sample. You can:
  • Edit any cell to fix incorrect extractions
  • See warnings for samples where extraction failed (highlighted amber)
  • Use the search box to find specific samples
  • Select or deselect samples to import (checkbox per row)
Review tab showing extracted property values per sample with editable cells

Spectra tab

Shows the spectra chart with all parsed spectra overlaid, plus a chip per spectrum below.
Review tab showing the spectra chart and selectable chips for each spectrum
You can:
  • Click a chip to deselect a spectrum (it shows strikethrough and is removed from the chart)
  • Use Select all or Deselect all to bulk toggle
  • Search by sample name
Click Import N spectra to confirm.

Errors at this step

ErrorCause
X axis has N points but sensor expects M.The file’s x-axis has a different number of points than the sensor’s locked template
X values differ from sensor template at K point(s)The x-axis values don’t match the sensor’s locked template within tolerance
'{sample}' has N x points but '{first}' has M.Files in the same batch must share the same x-axis
Property '{prop}' already exists as 'categorical' but extraction infers 'continuous'.Existing property type doesn’t match what extraction would create
Property '{prop}' is continuous but value '{val}' for sample '{sample}' is not numeric.Extracted value cannot be parsed as a number for a continuous property

Step 4: success

After import, you see a summary of everything that was created and linked.
Import complete screen showing summary counts for spectra, samples, matched, properties, and targets

Summary fields

Spectra created The total number of spectra saved to the project from this batch. This counts every file you imported, including replicas (multiple files for the same sample). Each spectrum is independently archivable and deletable. New samples Samples that did not exist before this upload and were auto-created. Chemolytic uses the filename (or the sample_name column for the standard CSV format) to determine the sample name. If a name doesn’t match an existing sample, a new one is created with no description and no property values (unless extracted at step 2). Matched Spectra whose sample name matched an existing sample in the project. The new spectra are linked to that sample as additional replicas. The existing sample’s description and other property values are not modified. Properties New sample properties created during the extraction step. Only appears if you used property extraction at step 2 and at least one new property was created. Existing properties are reused, not duplicated. Targets The total number of property-value pairs written to samples. One target = one (sample, property, value) triple. If a sample already had a value for that property, it is updated; otherwise a new target is created.

What happens next

Click Done to close the dialog and return to the Spectra page. The new spectra appear in the table immediately. You can now:
  • View any spectrum by clicking its row
  • Filter by sensor to see the new spectra in the chart preview
  • Continue to Building a dataset to use this data for training

Sensor x-axis lock

The first spectrum uploaded for a sensor sets that sensor’s x-axis (number of points and range). All subsequent uploads must match. If you upload a file with a different x-axis to an existing sensor, the parse step fails with one of the errors listed above. You have two options:
  1. Fix the file (resample to match the sensor’s x-axis), or
  2. Create a new sensor for the different x-axis configuration
The x-axis lock cannot be unset. If you mistakenly upload a file with the wrong x-axis as the first spectrum, you must create a new sensor and start over.

Plan limits

The plan limit on spectra per project is checked at the confirm step. If your batch would exceed the limit, the import is rejected before any spectra are saved.

Tips

Test with one file first. Upload one file to confirm the parser works for your instrument before importing a large batch.
Use consistent filenames. If you plan to extract properties from filenames, keep the structure consistent across all files (same delimiter, same number of positions, same order).
Re-uploading is safe for samples. If a sample already exists with the same name, the new spectra are linked to it (the sample is not duplicated).