{"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  }, \"Configure the image indexing service by contacting support\"), 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\": \"/flow/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\": \"/flow/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\": \"/flow/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\": \"/flow/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\": \"/flow/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\": \"/flow/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 edit metadata for 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. If the notification has been dismissed, this method is not available and file metadata can be edited individually through the Repository listing\")), mdx(\"li\", {\n    parentName: \"ol\"\n  }, mdx(\"p\", {\n    parentName: \"li\"\n  }, \"Click on the \", mdx(\"strong\", {\n    parentName: \"p\"\n  }, \"Edit Metadata\"), \" button for any of the files listed\")), mdx(\"li\", {\n    parentName: \"ol\"\n  }, mdx(\"p\", {\n    parentName: \"li\"\n  }, \"In the \", mdx(\"strong\", {\n    parentName: \"p\"\n  }, \"Add fields\"), \" box look for the fields to be added or type a few letters to find the desired field; repeat as required for other fields\")), mdx(\"li\", {\n    parentName: \"ol\"\n  }, mdx(\"p\", {\n    parentName: \"li\"\n  }, \"Edit the value in the provided field\")), mdx(\"li\", {\n    parentName: \"ol\"\n  }, mdx(\"p\", {\n    parentName: \"li\"\n  }, \"Click on the \", mdx(\"strong\", {\n    parentName: \"p\"\n  }, \"Save Changes\"), \" button to commit the field(s), or click on the \", mdx(\"strong\", {\n    parentName: \"p\"\n  }, \"Cancel\"), \" button to discard changes\")), 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 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\": \"/flow/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 PathcoreFlow. 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\": \"upload-client\"\n  }, mdx(\"a\", {\n    parentName: \"h2\",\n    \"href\": \"#upload-client\",\n    \"aria-label\": \"upload client 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  }))), \"Upload Client\"), mdx(\"p\", null, \"Where the volume of images to be uploaded is large, it can be more efficient to upload images with a dedicated tool. The Pathcore Upload Client is a Windows application that has been designed for automating image uploads. It can be configured to upload images that appear in a \\\"watch\\\" folder. Once the images are uploaded, they are available for review in the \", mdx(\"a\", {\n    parentName: \"p\",\n    \"href\": \"/flow/manual/latest/docs/repository/unsorted-uploads/\"\n  }, \"Unsorted Uploads\"), \" section of the application, and from there they can be moved to the appropriate folder in the Repository.\"), mdx(\"p\", null, \"The Upload Client can be configured to detect and upload images that are generated by a whole slide image scanner or it can be used to batch upload images on demand.\"), mdx(\"div\", {\n    className: \"info\"\n  }, mdx(\"div\", null, \"Visit the \", mdx(\"a\", {\n    href: \"https://pathcore.com/help\"\n  }, \"Pathcore Help Center\"), \" to download the Upload Client and learn more.\")), mdx(\"h2\", {\n    \"id\": \"universal-lis-connector\"\n  }, mdx(\"a\", {\n    parentName: \"h2\",\n    \"href\": \"#universal-lis-connector\",\n    \"aria-label\": \"universal lis connector 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  }))), \"Universal \", mdx(\"abbr\", {\n    parentName: \"h2\",\n    \"title\": \"Laboratory Information System\"\n  }, \"LIS\"), \" Connector\"), mdx(\"h5\", {\n    \"id\": \"add-on\"\n  }, mdx(\"a\", {\n    parentName: \"h5\",\n    \"href\": \"#add-on\",\n    \"aria-label\": \"add on 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  }))), \"[add-on]\"), mdx(\"p\", null, \"The \", mdx(\"a\", {\n    parentName: \"p\",\n    \"href\": \"/flow/manual/latest/docs/integrations/universal-lis-connector/\"\n  }, \"Universal \", mdx(\"abbr\", {\n    parentName: \"a\",\n    \"title\": \"Laboratory Information System\"\n  }, \"LIS\"), \" Connector\"), \" (\", mdx(\"abbr\", {\n    parentName: \"p\",\n    \"title\": \"Universal LIS Connector\"\n  }, \"ULC\"), \") is a flexible and low-code framework designed to make integration with third-party systems fast and cost-effective. In particular, \", mdx(\"abbr\", {\n    parentName: \"p\",\n    \"title\": \"Universal LIS Connector\"\n  }, \"ULC\"), \" has been designed for ingesting metadata from laboratory information systems and other study metadata tracking systems into the image management systems.\"), mdx(\"h2\", {\n    \"id\": \"image-indexing-services\"\n  }, mdx(\"a\", {\n    parentName: \"h2\",\n    \"href\": \"#image-indexing-services\",\n    \"aria-label\": \"image indexing services 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  }))), \"Image Indexing Services\"), mdx(\"h5\", {\n    \"id\": \"add-on-on-prem\"\n  }, mdx(\"a\", {\n    parentName: \"h5\",\n    \"href\": \"#add-on-on-prem\",\n    \"aria-label\": \"add on on prem 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  }))), \"[\", \"add-on] \", \"[on-prem]\"), mdx(\"p\", null, \"The indexing service has been designed for on-premise deployments. The service will find all the images in an attached storage system and reproduce the storage hierarchy in the Repository. The service provides a very efficient mechanism for managing storage in an on-premise deployment.\"), mdx(\"div\", {\n    className: \"info\"\n  }, \"The Image indexing services add-on is required to enable this feature.\"), mdx(\"p\", null, \"A side effect of the indexing service is the possibility in some circumstances for duplicate records to be created in the Repository. Images that are moved or copied on the storage system after they have been found by the indexing service will result in duplicate records, as the duplication will be detected by the service as a new file. This is not a huge problem, because both records will function normally (i.e., they will be viewable, no broken links, etc). However, the 2nd record won't have any of the annotations or metadata that may have been associated with the first record.\"), mdx(\"p\", null, \"To reorganize the images in the Repository, we recommend using PathcoreFlow's built-in copy or move functions, which handle image metadata. Note that copy operations in the Repository are shallow, so the image data will not be duplicated on disk.\"), 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":"#upload-client","title":"Upload Client"},{"url":"#universal-lis-connector","title":"Universal LIS Connector","items":[{"items":[{"items":[{"url":"#add-on","title":"add-on"}]}]}]},{"url":"#image-indexing-services","title":"Image Indexing Services","items":[{"items":[{"items":[{"url":"#add-on-on-prem","title":"[add-on] on-prem"}]}]}]},{"url":"#custom-built-uploader","title":"Custom Built Uploader"}]}]}}},"pageContext":{"id":"a80bf873-4fa3-5046-a5a4-a3571e545e87"}},"staticQueryHashes":["1086510573","1106176283","1122327541","2140385554","2719290676","3597609067","4027383558"]}