<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en-GB">
	<id>https://home.cryonav.org/index.php?action=history&amp;feed=atom&amp;title=CryoNAV_EPU_SerialEM_Folder_Structures</id>
	<title>CryoNAV EPU SerialEM Folder Structures - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://home.cryonav.org/index.php?action=history&amp;feed=atom&amp;title=CryoNAV_EPU_SerialEM_Folder_Structures"/>
	<link rel="alternate" type="text/html" href="https://home.cryonav.org/index.php?title=CryoNAV_EPU_SerialEM_Folder_Structures&amp;action=history"/>
	<updated>2026-06-24T19:09:17Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.43.1</generator>
	<entry>
		<id>https://home.cryonav.org/index.php?title=CryoNAV_EPU_SerialEM_Folder_Structures&amp;diff=105&amp;oldid=prev</id>
		<title>Admin: Bot edit via cryonavedit.py: add reference pages and screenshots</title>
		<link rel="alternate" type="text/html" href="https://home.cryonav.org/index.php?title=CryoNAV_EPU_SerialEM_Folder_Structures&amp;diff=105&amp;oldid=prev"/>
		<updated>2026-05-20T20:57:38Z</updated>

		<summary type="html">&lt;p&gt;Bot edit via cryonavedit.py: add reference pages and screenshots&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;Cryo-EM acquisition software organises raw data in two very different ways. EPU (Thermo Fisher) enforces a rigid hierarchy that mirrors the physical grid (atlas -&amp;gt; grid square -&amp;gt; foil hole -&amp;gt; exposure), while SerialEM produces a mostly flat layout with rich text-based metadata. CryoNAV&amp;#039;s &amp;#039;&amp;#039;&amp;#039;SmartScan&amp;#039;&amp;#039;&amp;#039; importer understands both, but you need to know what each acquisition tool writes to disk before pointing it at a session folder.&lt;br /&gt;
&lt;br /&gt;
== EPU folder structure ==&lt;br /&gt;
&lt;br /&gt;
EPU (Thermo Fisher) creates a fixed directory tree rooted at the session folder. Every high-magnification acquisition produces six files: summed image (.mrc/.tif), .jpg thumbnail, dose-fractionated movie (&amp;lt;code&amp;gt;_Fractions.mrc&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;_Fractions.tiff&amp;lt;/code&amp;gt;, or &amp;lt;code&amp;gt;_EER.eer&amp;lt;/code&amp;gt; on Falcon 4), two XMLs, and a &amp;lt;code&amp;gt;.dm5&amp;lt;/code&amp;gt; transfer checksum.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;amp;lt;SessionName&amp;amp;gt;/&lt;br /&gt;
    Metadata/&lt;br /&gt;
        EpuSession.dm           # binary session config&lt;br /&gt;
        ScreeningSession.dm&lt;br /&gt;
    Atlas/&lt;br /&gt;
        Supervisor_&amp;amp;lt;date&amp;amp;gt;_&amp;amp;lt;id&amp;amp;gt;_Atlas/&lt;br /&gt;
            Tile_###_###_*.mrc&lt;br /&gt;
            Atlas.mrc           *.xml&lt;br /&gt;
    Images-Disc1/&lt;br /&gt;
        GridSquare_&amp;amp;lt;8-digit-id&amp;amp;gt;/&lt;br /&gt;
            GridSquare_*.mrc  .xml  .jpg&lt;br /&gt;
            FoilHoles/&lt;br /&gt;
                FoilHole_&amp;amp;lt;id&amp;amp;gt;_&amp;amp;lt;date&amp;amp;gt;_&amp;amp;lt;time&amp;amp;gt;.mrc  .xml&lt;br /&gt;
            Data/&lt;br /&gt;
                FoilHole_*_Data_*_*_&amp;amp;lt;date&amp;amp;gt;_&amp;amp;lt;time&amp;amp;gt;.mrc&lt;br /&gt;
                FoilHole_*_Data_*_*_Fractions.mrc / .tiff / .eer&lt;br /&gt;
                FoilHole_*_Data_*_*.xml&lt;br /&gt;
                FoilHole_*_Data_*_*.jpg&lt;br /&gt;
                FoilHole_*_Data_*_*.dm5&lt;br /&gt;
    &amp;amp;lt;GainReference&amp;amp;gt;.gain&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Filenames encode internal (non-sequential) EPU IDs: &amp;lt;code&amp;gt;FoilHole_&amp;amp;lt;HoleID&amp;amp;gt;_Data_&amp;amp;lt;AcqID1&amp;amp;gt;_&amp;amp;lt;AcqID2&amp;amp;gt;_&amp;amp;lt;YYYYMMDD&amp;amp;gt;_&amp;amp;lt;HHMMSS&amp;amp;gt;&amp;lt;/code&amp;gt;. Per-image XML holds beam-shift (critical for AFIS grouping), defocus, stage position, pixel size, dose, voltage, and detector mode. Multi-grid sessions (EPU Multigrid, up to 12 cartridges) produce one full session directory per grid.&lt;br /&gt;
&lt;br /&gt;
== SerialEM folder structure ==&lt;br /&gt;
&lt;br /&gt;
SerialEM imposes minimal structure; the user controls naming and layout. Metadata lives in &amp;#039;&amp;#039;&amp;#039;.mdoc&amp;#039;&amp;#039;&amp;#039; files (IMOD autodoc: human-readable, bracketed sections, key/value pairs).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;amp;lt;session_root&amp;amp;gt;/&lt;br /&gt;
    GridName_LMM.st        GridName_LMM.st.mdoc    # low-mag atlas&lt;br /&gt;
    GridName_MMM.st        GridName_MMM.st.mdoc    # medium-mag montage&lt;br /&gt;
    GridName.mrc           GridName.mrc.mdoc       # acquired stack&lt;br /&gt;
    GridName.nav                                   # Navigator&lt;br /&gt;
    Frames.mdoc                                    # global frame metadata&lt;br /&gt;
    log.txt   SerialEMsettings.txt&lt;br /&gt;
    frames/&lt;br /&gt;
        GridName_0001_Dec23_13.20.21.tif&lt;br /&gt;
        GridName_0001_Dec23_13.20.21.tif.mdoc&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Key keys inside an .mdoc: &amp;lt;code&amp;gt;TiltAngle&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;StagePosition&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;Magnification&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;Defocus&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;ImageShift&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;ExposureDose&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;PixelSpacing&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;SubFramePath&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;NumSubFrames&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;DateTime&amp;lt;/code&amp;gt;; montages also carry &amp;lt;code&amp;gt;PieceCoordinates&amp;lt;/code&amp;gt;. The &amp;#039;&amp;#039;&amp;#039;.nav&amp;#039;&amp;#039;&amp;#039; file stores Navigator items: Type 0 (points), Type 1 (polygons), Type 2 (maps with &amp;lt;code&amp;gt;MapFile&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;MapID&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;MapSection&amp;lt;/code&amp;gt;, and a scale matrix).&lt;br /&gt;
&lt;br /&gt;
== What SmartScan looks for ==&lt;br /&gt;
&lt;br /&gt;
When you point SmartScan at a session root it auto-detects the acquisition software and walks the tree accordingly:&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;EPU detection&amp;#039;&amp;#039;&amp;#039; -- presence of &amp;lt;code&amp;gt;Metadata/EpuSession.dm&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;Images-Disc1/GridSquare_*/&amp;lt;/code&amp;gt;. SmartScan recursively globs &amp;lt;code&amp;gt;Images-Disc1/GridSquare_*/Data/*_Fractions.{mrc,tiff,eer}&amp;lt;/code&amp;gt; for movies, pairs each with its XML sibling, and parses beam-shift to reconstruct AFIS exposure groups. The atlas montage is read from &amp;lt;code&amp;gt;Atlas/Supervisor_*/Atlas.mrc&amp;lt;/code&amp;gt;; per-square overviews come from &amp;lt;code&amp;gt;GridSquare_*.mrc&amp;lt;/code&amp;gt;.&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;SerialEM detection&amp;#039;&amp;#039;&amp;#039; -- presence of a &amp;lt;code&amp;gt;.nav&amp;lt;/code&amp;gt; file or any &amp;lt;code&amp;gt;*.mdoc&amp;lt;/code&amp;gt; in the root. SmartScan ingests the Navigator to build the grid map, then reads &amp;lt;code&amp;gt;frames/*.mdoc&amp;lt;/code&amp;gt; (or the global &amp;lt;code&amp;gt;Frames.mdoc&amp;lt;/code&amp;gt;) for per-tilt parameters. For tilt series, the stack &amp;lt;code&amp;gt;.mrc.mdoc&amp;lt;/code&amp;gt; is the primary source of &amp;lt;code&amp;gt;TiltAngle&amp;lt;/code&amp;gt;, dose, and &amp;lt;code&amp;gt;SubFramePath&amp;lt;/code&amp;gt;.&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Gain references&amp;#039;&amp;#039;&amp;#039; -- &amp;lt;code&amp;gt;*.gain&amp;lt;/code&amp;gt; at the EPU session root, or whatever path is recorded in the SerialEM &amp;lt;code&amp;gt;.mdoc&amp;lt;/code&amp;gt;/log.&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Multi-grid&amp;#039;&amp;#039;&amp;#039; -- both formats are handled per-grid; SmartScan creates one CryoNAV Grid record per detected session or per autoloader-labelled subdirectory.&lt;br /&gt;
&lt;br /&gt;
Practical tips: do not rename or flatten EPU directories before import -- SmartScan relies on the &amp;lt;code&amp;gt;GridSquare&amp;lt;/code&amp;gt; -&amp;gt; &amp;lt;code&amp;gt;FoilHoles&amp;lt;/code&amp;gt; -&amp;gt; &amp;lt;code&amp;gt;Data&amp;lt;/code&amp;gt; hierarchy to reconstruct grid topology. For SerialEM, keep the &amp;lt;code&amp;gt;frames/&amp;lt;/code&amp;gt; directory adjacent to the &amp;lt;code&amp;gt;.nav&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;.mdoc&amp;lt;/code&amp;gt; files so &amp;lt;code&amp;gt;SubFramePath&amp;lt;/code&amp;gt; resolves correctly.&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
&lt;br /&gt;
* [[CryoNAV Tilt Series Data Collection Import|Tilt Series Data Import]]&lt;br /&gt;
* [[CryoNAV Metadata Management|Metadata Management]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Reference]]&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
</feed>