{"componentChunkName":"component---smooth-doc-smooth-doc-src-templates-doc-js","path":"/docs/repository/data-ingestion/","result":{"data":{"mdx":{"fields":{"pageType":"doc","title":"Data Ingestion","editLink":""},"body":"var _excluded = [\"components\"];\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nfunction _objectWithoutProperties(e, t) { if (null == e) return {}; var o, r, i = _objectWithoutPropertiesLoose(e, t); if (Object.getOwnPropertySymbols) { var s = Object.getOwnPropertySymbols(e); for (r = 0; r < s.length; r++) o = s[r], t.includes(o) || {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]); } return i; }\nfunction _objectWithoutPropertiesLoose(r, e) { if (null == r) return {}; var t = {}; for (var n in r) if ({}.hasOwnProperty.call(r, n)) { if (e.includes(n)) continue; t[n] = r[n]; } return t; }\n/* @jsxRuntime classic */\n/* @jsx mdx */\n\nvar _frontmatter = {\n  \"title\": \"Data Ingestion\",\n  \"description\": \"data ingestion\",\n  \"order\": 3,\n  \"section\": \"Repository\"\n};\nvar layoutProps = {\n  _frontmatter: _frontmatter\n};\nvar MDXLayout = \"wrapper\";\nreturn function MDXContent(_ref) {\n  var components = _ref.components,\n    props = _objectWithoutProperties(_ref, _excluded);\n  return mdx(MDXLayout, _extends({}, layoutProps, props, {\n    components: components,\n    mdxType: \"MDXLayout\"\n  }), mdx(\"h1\", {\n    \"id\": \"data-ingestion\"\n  }, mdx(\"a\", {\n    parentName: \"h1\",\n    \"href\": \"#data-ingestion\",\n    \"aria-label\": \"data ingestion permalink\",\n    \"className\": \"anchor\"\n  }, mdx(\"svg\", {\n    parentName: \"a\",\n    \"aria-hidden\": \"true\",\n    \"focusable\": \"false\",\n    \"height\": \"16\",\n    \"version\": \"1.1\",\n    \"viewBox\": \"0 0 16 16\",\n    \"width\": \"16\"\n  }, mdx(\"path\", {\n    parentName: \"svg\",\n    \"fillRule\": \"evenodd\",\n    \"d\": \"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"\n  }))), \"Data Ingestion\"), mdx(\"br\", null), mdx(\"p\", null, \"There are several ways to upload images into the Repository. Depending on the desired workflow and volume of data to be ingested, use one of the following methods:\"), mdx(\"ul\", null, mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"Upload files manually in a browser\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"Upload in bulk from a PC using the Upload Client software\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"Upload through the \", mdx(\"abbr\", {\n    parentName: \"li\",\n    \"title\": \"Application Programming Interface\"\n  }, \"API\"), \" for customized workflows\")), mdx(\"h2\", {\n    \"id\": \"manual-uploads\"\n  }, mdx(\"a\", {\n    parentName: \"h2\",\n    \"href\": \"#manual-uploads\",\n    \"aria-label\": \"manual uploads permalink\",\n    \"className\": \"anchor\"\n  }, mdx(\"svg\", {\n    parentName: \"a\",\n    \"aria-hidden\": \"true\",\n    \"focusable\": \"false\",\n    \"height\": \"16\",\n    \"version\": \"1.1\",\n    \"viewBox\": \"0 0 16 16\",\n    \"width\": \"16\"\n  }, mdx(\"path\", {\n    parentName: \"svg\",\n    \"fillRule\": \"evenodd\",\n    \"d\": \"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"\n  }))), \"Manual Uploads\"), mdx(\"p\", null, \"Files can be manually uploaded into a folder using drag and drop or through a file selection dialog. Multiple images can be selected for upload using either method. The status of uploaded files will be indicated through a progress notification at the top of the screen as well as a progress bar on each new item in the \", mdx(\"a\", {\n    parentName: \"p\",\n    \"href\": \"/scholar/manual/latest/docs/repository/folder-listing/\"\n  }, \"Folder Listing\"), \".\"), mdx(\"details\", null, mdx(\"summary\", null, \" To upload file(s) using drag and drop \"), mdx(\"ol\", null, mdx(\"li\", {\n    parentName: \"ol\"\n  }, mdx(\"p\", {\n    parentName: \"li\"\n  }, \"Navigate to any folder in the Repository (click on the \", mdx(\"img\", {\n    parentName: \"p\",\n    \"src\": \"/scholar/manual/latest/fed1477a03484982152f045fee98b862/nav-folder.svg\",\n    \"alt\": \"Folder\"\n  }), \" \", mdx(\"strong\", {\n    parentName: \"p\"\n  }, \"Repository\"), \" button from the \", mdx(\"a\", {\n    parentName: \"p\",\n    \"href\": \"/scholar/manual/latest/docs/repository/repository-overview/#navigation-menu\"\n  }, \"Navigation Menu\"), \" then navigate to a folder)\")), mdx(\"li\", {\n    parentName: \"ol\"\n  }, mdx(\"p\", {\n    parentName: \"li\"\n  }, \"Drag one or more files onto the folder listing area (until the \\\"Drop files to upload\\\" notification appears) then drop the files\")), mdx(\"li\", {\n    parentName: \"ol\"\n  }, mdx(\"p\", {\n    parentName: \"li\"\n  }, \"To check upload status, click on the \", mdx(\"strong\", {\n    parentName: \"p\"\n  }, \"Details\"), \" button from the upload progress notification at the top of the screen\")))), mdx(\"details\", null, mdx(\"summary\", null, \" To upload file(s) using a file selection dialog \"), mdx(\"ol\", null, mdx(\"li\", {\n    parentName: \"ol\"\n  }, mdx(\"p\", {\n    parentName: \"li\"\n  }, \"Navigate to any folder in the Repository (click on the \", mdx(\"img\", {\n    parentName: \"p\",\n    \"src\": \"/scholar/manual/latest/fed1477a03484982152f045fee98b862/nav-folder.svg\",\n    \"alt\": \"Folder\"\n  }), \" \", mdx(\"strong\", {\n    parentName: \"p\"\n  }, \"Repository\"), \" button from the \", mdx(\"a\", {\n    parentName: \"p\",\n    \"href\": \"/scholar/manual/latest/docs/repository/repository-overview/#navigation-menu\"\n  }, \"Navigation Menu\"), \" then navigate to a folder)\")), mdx(\"li\", {\n    parentName: \"ol\"\n  }, mdx(\"p\", {\n    parentName: \"li\"\n  }, \"Click on the \", mdx(\"img\", {\n    parentName: \"p\",\n    \"src\": \"/scholar/manual/latest/bf2c65adeea17b7e55da39967e16f738/table-add.svg\",\n    \"alt\": \"Actions\"\n  }), \" button at the top right of the item list\")), mdx(\"li\", {\n    parentName: \"ol\"\n  }, mdx(\"p\", {\n    parentName: \"li\"\n  }, \"In the popup menu, click \", mdx(\"strong\", {\n    parentName: \"p\"\n  }, \"Upload\"))), mdx(\"li\", {\n    parentName: \"ol\"\n  }, mdx(\"p\", {\n    parentName: \"li\"\n  }, \"Click in the blue box to activate the file selection dialog or simply drag files into the blue box; repeat as required for other files\")), mdx(\"li\", {\n    parentName: \"ol\"\n  }, mdx(\"p\", {\n    parentName: \"li\"\n  }, \"Click on the \", mdx(\"strong\", {\n    parentName: \"p\"\n  }, \"Start Upload\"), \" button to start upload\")), mdx(\"li\", {\n    parentName: \"ol\"\n  }, mdx(\"p\", {\n    parentName: \"li\"\n  }, \"Click on the \", mdx(\"strong\", {\n    parentName: \"p\"\n  }, \"X\"), \" button to minimize the File Uploads dialog\")), mdx(\"li\", {\n    parentName: \"ol\"\n  }, mdx(\"p\", {\n    parentName: \"li\"\n  }, \"To check upload status, click on the \", mdx(\"strong\", {\n    parentName: \"p\"\n  }, \"Details\"), \" button from the upload progress notification at the top of the screen\")))), mdx(\"details\", null, mdx(\"summary\", null, \" To check the status of recently uploaded files \"), mdx(\"ol\", null, mdx(\"li\", {\n    parentName: \"ol\"\n  }, mdx(\"p\", {\n    parentName: \"li\"\n  }, \"Look for the upload progress notification at the top of the screen\")), mdx(\"li\", {\n    parentName: \"ol\"\n  }, mdx(\"p\", {\n    parentName: \"li\"\n  }, \"Click on the \", mdx(\"strong\", {\n    parentName: \"p\"\n  }, \"Details\"), \" button on the notification\")))), mdx(\"details\", null, mdx(\"summary\", null, \" To locate recently uploaded files \"), mdx(\"ol\", null, mdx(\"li\", {\n    parentName: \"ol\"\n  }, mdx(\"p\", {\n    parentName: \"li\"\n  }, \"Look for the upload progress notification at the top of the screen and, if it has not been dismissed, click on the \", mdx(\"strong\", {\n    parentName: \"p\"\n  }, \"Details\"), \" button\")), mdx(\"li\", {\n    parentName: \"ol\"\n  }, mdx(\"p\", {\n    parentName: \"li\"\n  }, \"Click on the \", mdx(\"img\", {\n    parentName: \"p\",\n    \"src\": \"/scholar/manual/latest/fed1477a03484982152f045fee98b862/nav-folder.svg\",\n    \"alt\": \"Folder\"\n  }), \" button below any of the recently uploaded files\")), mdx(\"li\", {\n    parentName: \"ol\"\n  }, mdx(\"p\", {\n    parentName: \"li\"\n  }, \"Click on the \", mdx(\"strong\", {\n    parentName: \"p\"\n  }, \"X\"), \" button in the top right-hand corner of the File Uploads dialog\")))), mdx(\"details\", null, mdx(\"summary\", null, \" To clear the completed list of recently uploaded files \"), mdx(\"ol\", null, mdx(\"li\", {\n    parentName: \"ol\"\n  }, mdx(\"p\", {\n    parentName: \"li\"\n  }, \"Look for the upload progress notification at the top of the screen and, if it has not been dismissed, click on the \", mdx(\"strong\", {\n    parentName: \"p\"\n  }, \"Details\"), \" button\")), mdx(\"li\", {\n    parentName: \"ol\"\n  }, mdx(\"p\", {\n    parentName: \"li\"\n  }, \"Click on the \", mdx(\"strong\", {\n    parentName: \"p\"\n  }, \"Clear Completed\"), \" button\")))), mdx(\"details\", null, mdx(\"summary\", null, \" To clear the upload progress history and remove it from view \"), mdx(\"ol\", null, mdx(\"li\", {\n    parentName: \"ol\"\n  }, mdx(\"p\", {\n    parentName: \"li\"\n  }, \"Look for the upload progress notification at the top of the screen\")), mdx(\"li\", {\n    parentName: \"ol\"\n  }, mdx(\"p\", {\n    parentName: \"li\"\n  }, \"Click on the \", mdx(\"strong\", {\n    parentName: \"p\"\n  }, \"Dismiss\"), \" button on the notification\"))), mdx(\"div\", {\n    className: \"info\"\n  }, \"Refreshing the page while uploads are in progress will terminate in progress uploads and clear the list of recently uploaded files.\")), mdx(\"h3\", {\n    \"id\": \"multi-file-images\"\n  }, mdx(\"a\", {\n    parentName: \"h3\",\n    \"href\": \"#multi-file-images\",\n    \"aria-label\": \"multi file images permalink\",\n    \"className\": \"anchor\"\n  }, mdx(\"svg\", {\n    parentName: \"a\",\n    \"aria-hidden\": \"true\",\n    \"focusable\": \"false\",\n    \"height\": \"16\",\n    \"version\": \"1.1\",\n    \"viewBox\": \"0 0 16 16\",\n    \"width\": \"16\"\n  }, mdx(\"path\", {\n    parentName: \"svg\",\n    \"fillRule\": \"evenodd\",\n    \"d\": \"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"\n  }))), \"Multi-File Images\"), mdx(\"p\", null, \"To upload multi-file images such as \", mdx(\"abbr\", {\n    parentName: \"p\",\n    \"title\": \"3DHISTECH MIRAX slide format\"\n  }, \"MRXS\"), \", \", mdx(\"abbr\", {\n    parentName: \"p\",\n    \"title\": \"Hamamatsu NDPI slide format\"\n  }, \"NDPIS\"), \", \", mdx(\"abbr\", {\n    parentName: \"p\",\n    \"title\": \"Leica Aperio slide format\"\n  }, \"AFI\"), \" and \", mdx(\"abbr\", {\n    parentName: \"p\",\n    \"title\": \"Evident Virtual Slide Image\"\n  }, \"VSI\"), \" via the browser, the set of files and folders related to the image must be uploaded as a single archive file (e.g., a zip file). Do not include additional files or folders in the archive file or change the relative path of files in the archive (i.e., ensure the main file is at the root of the archive and there should be one image per archive).\"), mdx(\"p\", null, \"The following archive formats are supported:\"), mdx(\"ul\", null, mdx(\"li\", {\n    parentName: \"ul\"\n  }, mdx(\"strong\", {\n    parentName: \"li\"\n  }, \"tar\"), \": Standard tarball archive format\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, mdx(\"strong\", {\n    parentName: \"li\"\n  }, \"tar.gz\"), \": gzip compressed tarball\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, mdx(\"strong\", {\n    parentName: \"li\"\n  }, \"ZIP\"), \": Created using the DEFLATE or DEFLATE64 algorithm. Microsoft Windows and macOS create these types of archives when a user sends files to a \\\"compressed folder\\\"\")), mdx(\"p\", null, \"The following multi-file image formats are supported, with notes on how to properly organize the archive file contents.\"), mdx(\"details\", null, mdx(\"summary\", null, \" 3DHISTECH MRXS \"), mdx(\"p\", null, \" An \", mdx(\"abbr\", {\n    parentName: \"p\",\n    \"title\": \"3DHISTECH MIRAX slide format\"\n  }, \"MRXS\"), \" image consists of a base \", mdx(\"strong\", {\n    parentName: \"p\"\n  }, \".mrxs\"), \" image, and a correspondingly named folder which contains:\"), mdx(\"ul\", null, mdx(\"li\", {\n    parentName: \"ul\"\n  }, mdx(\"strong\", {\n    parentName: \"li\"\n  }, \"Slidedat.ini\"), \": Metadata for the entire image\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, mdx(\"strong\", {\n    parentName: \"li\"\n  }, \"Index.dat\"), \": Index describing how the data files are combined into a \", mdx(\"abbr\", {\n    parentName: \"li\",\n    \"title\": \"Whole Slide Image(s)\"\n  }, \"WSI\"), \"\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, mdx(\"strong\", {\n    parentName: \"li\"\n  }, \"DataXXXX.dat\"), \": One or more image data files\")), mdx(\"p\", null, \" \", mdx(\"strong\", {\n    parentName: \"p\"\n  }, \"Example\"), \": An archive file named \\\"slide_001A.zip\\\" containing:\"), mdx(\"pre\", null, mdx(\"code\", {\n    parentName: \"pre\"\n  }, \"slide_001A.mrxs\\nslide_001A/\\n    Data0000.dat\\n    Data0001.dat\\n    ...\\n    Data0021.dat\\n    Data0022.dat\\n    Index.dat\\n    Slidedat.ini\\n\")), mdx(\"div\", {\n    className: \"info\"\n  }, mdx(\"div\", null, \"The scanner may not produce the \", mdx(\"b\", null, \".mrxs\"), \" file, which is required by PathcoreScholar. CaseViewer will create this file if it does not already exist when it opens the image for viewing.\"))), mdx(\"details\", null, mdx(\"summary\", null, \" Aperio AFI \"), mdx(\"p\", null, \" An \", mdx(\"abbr\", {\n    parentName: \"p\",\n    \"title\": \"Leica Aperio slide format\"\n  }, \"AFI\"), \" image consists of:\"), mdx(\"ul\", null, mdx(\"li\", {\n    parentName: \"ul\"\n  }, mdx(\"strong\", {\n    parentName: \"li\"\n  }, \"IMAGE_NAME.afi\"), \": An XML manifest of the files representing each channel\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, mdx(\"strong\", {\n    parentName: \"li\"\n  }, \"*\", \".svs\"), \": One or more images, each representing a channel\")), mdx(\"p\", null, \" \", mdx(\"strong\", {\n    parentName: \"p\"\n  }, \"Example\"), \": An archive file named \\\"273481.zip\\\" containing:\"), mdx(\"pre\", null, mdx(\"code\", {\n    parentName: \"pre\"\n  }, \"273481_Alexa Fluor 488.svs\\n273481_Alexa Fluor 594.svs\\n273481_DAPI.svs\\n273481.afi\\n\"))), mdx(\"details\", null, mdx(\"summary\", null, \" Hamamatsu NDPIS \"), mdx(\"p\", null, \" An \", mdx(\"abbr\", {\n    parentName: \"p\",\n    \"title\": \"Hamamatsu NDPI slide format\"\n  }, \"NDPIS\"), \" image consists of:\"), mdx(\"ul\", null, mdx(\"li\", {\n    parentName: \"ul\"\n  }, mdx(\"strong\", {\n    parentName: \"li\"\n  }, \"IMAGE_NAME.ndpis\"), \": An INI-like manifest of the files representing each channel\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, mdx(\"strong\", {\n    parentName: \"li\"\n  }, \"*\", \".ndpi\"), \": One or more images, each representing a channel\")), mdx(\"p\", null, \" \", mdx(\"strong\", {\n    parentName: \"p\"\n  }, \"Example\"), \": An archive file named \\\"Ex_changer.tar.gz\\\" containing:\"), mdx(\"pre\", null, mdx(\"code\", {\n    parentName: \"pre\"\n  }, \"Ex_changer-DAPI.ndpi\\nEx_changer-FITC.ndpi\\nEx_changer-TxRed.ndpi\\nEx_changer.ndpis\\n\"))), mdx(\"details\", null, mdx(\"summary\", null, \" Lunaphore OME-TIFF \"), mdx(\"p\", null, \" An image in the Lunaphore variant of OME-TIFF can have an auxiliary XML file which defines the minimum value, maximum value, gamma value, and pseudocolor for each channel.\\nThis XML file needs to match the filename of the OME-TIFF file with \\\".xml\\\" appended.\"), mdx(\"p\", null, \" \", mdx(\"strong\", {\n    parentName: \"p\"\n  }, \"Example\"), \": An archive file named \\\"Lunaphore 10plex (5 cycles)_Slide 7_Annotation 1.tar\\\" containing:\"), mdx(\"pre\", null, mdx(\"code\", {\n    parentName: \"pre\"\n  }, \"Lunaphore 10plex (5 cycles)_Slide 7_Annotation 1.ome.tiff\\nLunaphore 10plex (5 cycles)_Slide 7_Annotation 1.ome.tiff.xml\\n\"))), mdx(\"details\", null, mdx(\"summary\", null, \" Olympus VSI \"), mdx(\"p\", null, \" A \", mdx(\"abbr\", {\n    parentName: \"p\",\n    \"title\": \"Evident Virtual Slide Image\"\n  }, \"VSI\"), \" image consists of a base \", mdx(\"strong\", {\n    parentName: \"p\"\n  }, \".vsi\"), \" image, and a folder named \", mdx(\"strong\", {\n    parentName: \"p\"\n  }, \"_\", \"IMAGE_NAME\", \"_\"), \" which can contain a variety of subfolders and files.\"), mdx(\"p\", null, \" \", mdx(\"strong\", {\n    parentName: \"p\"\n  }, \"Example\"), \": An archive file named \\\"Her2.tar\\\" containing:\"), mdx(\"pre\", null, mdx(\"code\", {\n    parentName: \"pre\"\n  }, \"Her2.vsi\\n_Her2_/\\n    stack1/\\n        frame_t.ets\\n    stack10001/\\n        frame_t.ets\\n    stack10004/\\n        frame_t.ets\\n\"))), mdx(\"div\", {\n    className: \"info\"\n  }, \"Only one image can be included in an archive file.\"), mdx(\"h2\", {\n    \"id\": \"custom-built-uploader\"\n  }, mdx(\"a\", {\n    parentName: \"h2\",\n    \"href\": \"#custom-built-uploader\",\n    \"aria-label\": \"custom built uploader permalink\",\n    \"className\": \"anchor\"\n  }, mdx(\"svg\", {\n    parentName: \"a\",\n    \"aria-hidden\": \"true\",\n    \"focusable\": \"false\",\n    \"height\": \"16\",\n    \"version\": \"1.1\",\n    \"viewBox\": \"0 0 16 16\",\n    \"width\": \"16\"\n  }, mdx(\"path\", {\n    parentName: \"svg\",\n    \"fillRule\": \"evenodd\",\n    \"d\": \"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"\n  }))), \"Custom Built Uploader\"), mdx(\"p\", null, \"Users can develop custom upload workflows using the \", mdx(\"abbr\", {\n    parentName: \"p\",\n    \"title\": \"Application Programming Interface\"\n  }, \"API\"), \", which provides methods for adding files and metadata to the Repository. Contact \", mdx(\"a\", {\n    parentName: \"p\",\n    \"href\": \"mailto:support@pathcore.com\"\n  }, \"Pathcore Support\"), \" to learn more.\"));\n}\n;\nMDXContent.isMDXComponent = true;","tableOfContents":{"items":[{"url":"#data-ingestion","title":"Data Ingestion","items":[{"url":"#manual-uploads","title":"Manual Uploads","items":[{"url":"#multi-file-images","title":"Multi-File Images"}]},{"url":"#custom-built-uploader","title":"Custom Built Uploader"}]}]}}},"pageContext":{"id":"a80bf873-4fa3-5046-a5a4-a3571e545e87"}},"staticQueryHashes":["1086510573","1106176283","1122327541","2140385554","2719290676","3597609067","4027383558"]}