Metadata-related adjustments

This commit is contained in:
Nicolò P 2023-11-03 14:56:19 +01:00
parent f963ee84a7
commit 4ffc5277c0

View File

@ -16,7 +16,33 @@ const TECH_NAMES = {
hsi: "Hyperspectral Imaging", hsi: "Hyperspectral Imaging",
uvf: "Technical Photography UVF", uvf: "Technical Photography UVF",
} }
const authors = {
DAN: 'Danilo P. Pavone',
};
/**
*
* @param {string} imgFilename
* @returns {object}
*/
function extractNIRMetadata(imgFilename) {
return {
papyrus: imgFilename.split('_')[0].split('-')[2],
imageAuthor: authors[imgFilename.split('-')[0].replace(/\d{4}/,'')],
date: imgFilename.split('-')[0].match(/\d{4}/)[0],
}
}
/**
*
* @param {string} imgFilename
* @returns {object}
*/
function extractDNOMetadata(imgFilename) {
return {
papyrus: imgFilename.split('_')[1],
imageAuthor: '',
date: '',
}
}
/** /**
* @param {string} manifestId * @param {string} manifestId
*/ */
@ -25,7 +51,7 @@ Common.getImageList = async function (manifestId) {
return `PHerc_${g1}_${g2.toUpperCase()}`; return `PHerc_${g1}_${g2.toUpperCase()}`;
}); });
let baseFolder = folderName.split('_')[0] + '_' + folderName.split('_')[1]; let baseFolder = `${folderName.split('_')[0]}_${folderName.split('_')[1]}`;
let files = await fs.promises.readdir( let files = await fs.promises.readdir(
`${process.env.IMAGES_DIR}/${baseFolder}/${folderName}` `${process.env.IMAGES_DIR}/${baseFolder}/${folderName}`
@ -147,25 +173,23 @@ Common.populateCanvases = async function (manifest, images) {
* @returns {ManifestMetadata} * @returns {ManifestMetadata}
*/ */
Common.createMetadata = function (manifest, imgFilename) { Common.createMetadata = function (manifest, imgFilename) {
let metadata = this.getMetadataFromImgName(imgFilename); let metadata = this.getMetadataFromImgName(imgFilename, manifest.technique);
metadata.technique = TECH_NAMES[manifest.technique]; metadata.technique = TECH_NAMES[manifest.technique];
return new ManifestMetadata(metadata); return new ManifestMetadata(metadata);
} }
/** /**
* @todo Only works with NIR!!
* @param {string} imgFilename * @param {string} imgFilename
* @param {string} technique
*/ */
Common.getMetadataFromImgName = function (imgFilename) { Common.getMetadataFromImgName = function (imgFilename, technique) {
const authors = { const extractor = {
DAN: 'Danilo P. Pavone' nir: extractNIRMetadata,
}; dn: extractDNOMetadata,
do: extractDNOMetadata,
return {
papyrus: imgFilename.split('_')[0].split('-')[2],
imageAuthor: authors[imgFilename.split('-')[0].replace(/\d{4}/,'')],
date: imgFilename.split('-')[0].match(/\d{4}/)[0],
} }
return extractor[technique](imgFilename);
} }
export default Common; export default Common;