---
title: FAQ
---
# FAQ / Troubleshooting

⚠️ **This Page needs your help:** write your maintainers when you have a question/ an error and we can see if we should add it here.

This page collects error messages and unexpected behavior you may run into while using FEATHER, with plain-language explanations of what's going on and what to do about it. If you don't find your issue here, ask a labmate or your toolbox maintainer — and consider adding it to this page afterwards so the next person doesn't have to ask.

For setup-specific problems (paths, MATLAB toolboxes, Git), see [Getting Started – Installation & Toolbox Setup](./Getting-Started.md) and [Getting Started with Git](./Git-Basics.md) first.

---

## Calibration issues: e.g. "Cache is not enabled. Abort!"

This means you called a function that expects `enablecache` to be `'on'`, but it is currently set to `'off'`. This is a safety mechanism, not a bug.

**Fix:** run `enablecache on` before the command that failed, then try again. See [How FEATHER Works (Big Picture)](./How-FEATHER-Works.md) for what caching actually means. Changing the caching behaviour may fix a lot of other issues as well.

---
## Calibration issues: e.g. "no calibration file found for this recording" / "multiple calibration files found for this recording"

FEATHER could not find exactly one calibration `.txt` file matching what you entered in the `userberabrOD` or `ICuserInput` GUI (optical density filter, COM port, laser type, etc.).

- **No file found:** check that the calibration files actually exist in the expected raw-data folder, and that the filter/COM-port values you entered in the GUI exactly match what's encoded in the calibration filename.
- **Multiple files found:** FEATHER will use the first match it finds and print a warning — this usually means there are duplicate/leftover calibration files in the folder that should be cleaned up, or that your filter/COM-port entry isn't specific enough to uniquely identify one file.

Calibration files are expected to live in the **raw data directory** (default) or a custom `calibDir`.  
They are generated by the custom-written MATLAB GUI **LaserControl**, but other calibration files can be parsed into the same format and then used.
The calibration file naming conventions are:

```
<date>_<laserType>_<ComPort>_Power_Calibration_<OD>.txt

Examples:
  20240312_OBIS_COM10_Power_Calibration_0.txt
  20240312_OBIS_COM10_Power_Calibration_1.txt     (OD 1 filter)
  20240312_SB_COM5_Power_Calibration_ID_XYZ_ResistorNo_2.txt  (µLED)
```

The `OD` describes a manual set parameter such as an optical density filter or the applied voltage in a laser that then changes the current for different intensities. The `ComPort` is important if more than one laser of a type is connected to a setup. The  `OD` and `ComPort` parameters must match what was entered in `ICuserInput.mlapp` (stored in `ICUserInput_<ExpID>.mat` in the processed data directory) for the correct association from calibration files to icmes.

### File content

Each calibration file contains a short header followed by a tab-delimited table.  
The header must contain the string `Power (mW)` for automatic header-detection.  
Expected columns (default names):

| Column | Description |
|--------|-------------|
| `Power_Percent` | Drive percentage to the laser (0–100 %) |
| `Current_mA` | Corresponding drive current [mA] |
| `Power_mW` | Measured optical output power [mW] |``
---

## "YOU ARE TRYING TO STORE FEATHER DATA IN THE ARCHIV DOMAIN!!! ABORT"

FEATHER refuses to save processed data into any folder path containing the word `archiv`. This is a deliberate safety check (`testSafeDir`) to prevent processed results from accidentally being written into the raw/archive data storage, where they could overwrite or get mixed up with raw data.

**Fix:** check your `processedDataMap` / `processedDataDirPath` settings in your `startup.m` — they should point to your **processed** data drive, not your raw data (`ukonmap`) drive. See [Getting Started – Installation & Toolbox Setup](./Getting-Started.md).

---

## "Caching is on, but no processed data are there. Try enablecache(off)"

This happens when you try to load an `anex` (or another object) with `enablecache on`, but no saved/processed version of it exists yet — usually because this is the very first time this experiment is being analysed.

**Fix:** run `enablecache off` and re-create the object as shown in the relevant walkthrough (e.g. [ABR Analysis Walkthrough](./ABR-Walkthrough.md) Step 1), then switch back to `enablecache on` for subsequent work.

---

## "Experiment is already initialized, overwrite aborted."

You tried to initialize a folder (e.g. via `initProcessedExp`, `initHistoFolder`, `initIcmeFolder`) that already exists. FEATHER refuses to silently overwrite an existing experiment folder.

**Fix:** if you meant to load an existing experiment rather than create a new one, use `loadAnex` instead of re-initializing. If you genuinely need to reset the experiment folder, do this deliberately and with care — ask a maintainer if unsure, since this can affect saved results from other users too.

---

## "the raw data directory does not contain the expID. Operation aborted."

You tried to set a raw data directory on an `anex`/`berabr`/`icme` object, but the path you provided doesn't contain the experiment's ID string anywhere in it. This is a sanity check to catch copy-paste mistakes where a raw data path from a *different* animal gets accidentally assigned to the wrong experiment.

**Fix:** double-check the raw data path you're providing actually corresponds to the animal you're working on.

---



## IC recording: "num of found stimuli in raw data not same as IC.stimlist" / "not all repetitions found in data" / "trial numbers of triggers are not constantly counting up"

These errors come from `ExtractMUAfromRawDataIntoSL` while it cross-checks the Neuralynx/Cheetah event log against the expected stimulus list from ExpControl. They usually indicate a genuine problem with the raw recording itself (e.g. recording was stopped/restarted mid-way, data acquisition dropped triggers, or the wrong `.m` log file is associated with this recording) rather than a FEATHER setup issue.

**Fix:** double-check that the `icme` object is pointed at the correct raw data folder for that specific `SeriesID`, and that the recording wasn't interrupted. If the recording genuinely has missing/extra triggers, mark it as unusable (`Use = -1`) in the `ICuserInput` GUI rather than trying to force it through analysis.

---

## A GUI window closes and nothing seems to have been saved

Almost every FEATHER GUI requires you to press a specific save button before closing it — usually **EXPORT** or **Done** (sometimes **Done & EXPORT**). Simply closing the window is not enough.

**Fix:** see the [GUI Reference](./GUI-Reference.md) page for the exact save button for each specific GUI, and re-do the annotation step if you closed it without saving.

---

## What's next

- [Getting Started – Installation & Toolbox Setup](./Getting-Started.md)
- [How FEATHER Works (Big Picture)](./How-FEATHER-Works.md)
- [GUI Reference](./GUI-Reference.md)
