Skip to content
New issue

Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? # to your account

Update svs2dz-functions.sh #17

Merged
merged 18 commits into from
Aug 23, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
34 changes: 24 additions & 10 deletions docker/wsi-worker/generate_mongo_records.js
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ const dbName = 'knowledgeEnvironment';
const kpmpId = process.argv[2];
const slideName = process.argv[3];
const fileUUID = process.argv[4];
const slideType = process.argv[5];
const slideType = process.argv[5].toUpperCase();
const stainType = process.argv[6];
const metadataFile = process.argv[7];

Expand All @@ -30,7 +30,7 @@ const addAndUpdateParticipants = function (db, callback) {
});

let slideTypeFull = "";
switch (slideType.toUpperCase()) {
switch (slideType) {
case "LM":
slideTypeFull = "(LM) Light Microscopy";
break;
Expand Down Expand Up @@ -63,7 +63,6 @@ const addAndUpdateParticipants = function (db, callback) {
exists = true;
}
});

if (!exists) {
if (stainsByType[stainType] !== null && stainsByType[stainType] !== undefined && slideType === "LM") {
slides.push({
Expand All @@ -81,7 +80,7 @@ const addAndUpdateParticipants = function (db, callback) {
slides.push({
_id: fileUUID,
slideName: slideName,
stain: stainsByType[stainType],
stain: { type: "other" },
slideType: slideTypeFull
});
console.log("--- adding new slide, fileUUID: " + fileUUID);
Expand All @@ -102,21 +101,36 @@ const addAndUpdateParticipants = function (db, callback) {
callback()
});
if (docs.length === 0) {
if (stainsByType[stainType] !== null && stainsByType[stainType] !== undefined) {

if (stainsByType[stainType] !== null && stainsByType[stainType] !== undefined && slideType === "LM") {
let participantRecord = {
kpmp_id: kpmpId,
label: kpmpId,
slides: [{
_id: fileUUID,
slideName: slideName,
stain: stainsByType[stainType],
slideType: slideTypeFull
slideType: slideTypeFull,
metadata: metadata
}]
};

console.log("--- adding new participant and slides, KPMP_ID: " + kpmpId);
participantCollection.insertOne(participantRecord, function () {
callback();
});
}
else if (slideType === "EM") {
let participantRecord = {
kpmp_id: kpmpId,
label: kpmpId,
slides: [{
_id: fileUUID,
slideName: slideName,
stain: { type: "other" },
slideType: slideTypeFull,
}]
};
if (slideType === "LM") {
participantRecord.slides[0].metadata = metadata;
}

console.log("--- adding new participant and slides, KPMP_ID: " + kpmpId);
participantCollection.insertOne(participantRecord, function () {
Expand Down
13 changes: 9 additions & 4 deletions docker/wsi-worker/svs2dz-functions.sh
Original file line number Diff line number Diff line change
Expand Up @@ -58,7 +58,7 @@ validate_args() {

if [[ -z $5 ]]; then
echo "... optional stain not passed; defaulting to type 'pas'"
5=pas
$5 = "pas"
fi

if (( DID_ERROR > 0 )); then
Expand All @@ -69,9 +69,14 @@ validate_args() {

call_vips() {
mkdir -p $ENV_LINK_SRC_DIR/files_$1

echo "--- vips dzsave $JOB_IN_DIR/$2.svs $ENV_LINK_SRC_DIR/files_$1/$2"
vips dzsave $JOB_IN_DIR/$2.svs $ENV_LINK_SRC_DIR/files_$1/$2
if [ "$4" == "EM" ] || [ "$4" == "em" ]; then
echo "--vips dzsave $JOB_IN_DIR/$2.jpg $ENV_LINK_SRC_DIR/files_$1/$2"
vips dzsave $JOB_IN_DIR/$2.jpg $ENV_LINK_SRC_DIR/files_$1/$2
else
echo "--- vips dzsave $JOB_IN_DIR/$2.svs $ENV_LINK_SRC_DIR/files_$1/$2"
vips dzsave $JOB_IN_DIR/$2.svs $ENV_LINK_SRC_DIR/files_$1/$2
fi

# Copy a consistently-well-sized DZ file out as our thumbnail
cp $ENV_LINK_SRC_DIR/files_$1/$2_files/8/0_0.jpeg $ENV_LINK_SRC_DIR/files_$1/tn_$2.jpeg
}
Expand Down