> For the complete documentation index, see [llms.txt](https://bakingtray.mouse.vision/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://bakingtray.mouse.vision/users/data-structure.md).

# Data structure

A single sample directory contains one sample (one imaging session). Within this you will find the following files:

This directory contains:

* *recipe\_XXX.yml* -- This text file is [YAML formatted](https://en.wikipedia.org/wiki/YAML) and contains the parameters the user entered to set up the acquisition. It also contains extra information generated by BakingTray, such as the scanning parameters. This file is required for the individual images to be assembled (stitched) into full planes.
* *acqLog\_XXX.txt* -- Logs major acquisition events, the laser state, and the time take for each section. This file is mainly for record keeping and is not required to stitch the images. It may be used by BakingTray for certain operations, such as resumption of a finished acquisition.
* The *rawData* directory is created when acquisition starts. Within it are a series of section directories. Each section directory contains data from one physical section. e.g. if the sample name is `AMo_20` you will see:

  ```
  $ ls -l rawData
  ls -l rawData/
  total 0
  drwxrwx--- 1 user users 5526 Aug 11 10:29 AMo_20-0001
  drwxrwx--- 1 user users 5526 Aug 11 10:31 AMo_20-0002
  drwxrwx--- 1 user users 5526 Aug 11 10:32 AMo_20-0003
  ...
  ```
* Within each *section directory* you will find the image files. If you are using ScanImage for the acquisition and doing tile-scanning (grid of images) then each TIFF will contain all depths from all channels for each x/y position. So if you have a 3 x 3 tile grid, there will be 9 TIFFs per section directory. Once all tiles have been acquired, an empty file called `COMPLETED` is added. There is also a file called `tilePositions.mat`, which contains the position of each tile in the grid (including the stage coordinates reported by the stage). This file is created by the callback function `SIBT.tileAcqDone` which in a tile scan runs at the conclusion of each X/Y position.

## Developer information

* The recipe file is generated by `recipe.writeFullRecipeForAcquisition` (the API command is `hBT.recipe.writeFullRecipeForAcquisition`).
* The \_acqLog\_XXX.txt file is created during acquisition by `BT.bake`.
