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",
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
*/
@ -25,7 +51,7 @@ Common.getImageList = async function (manifestId) {
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(
`${process.env.IMAGES_DIR}/${baseFolder}/${folderName}`
@ -147,25 +173,23 @@ Common.populateCanvases = async function (manifest, images) {
* @returns {ManifestMetadata}
*/
Common.createMetadata = function (manifest, imgFilename) {
let metadata = this.getMetadataFromImgName(imgFilename);
let metadata = this.getMetadataFromImgName(imgFilename, manifest.technique);
metadata.technique = TECH_NAMES[manifest.technique];
return new ManifestMetadata(metadata);
}
/**
* @todo Only works with NIR!!
* @param {string} imgFilename
* @param {string} technique
*/
Common.getMetadataFromImgName = function (imgFilename) {
const authors = {
DAN: 'Danilo P. Pavone'
};
return {
papyrus: imgFilename.split('_')[0].split('-')[2],
imageAuthor: authors[imgFilename.split('-')[0].replace(/\d{4}/,'')],
date: imgFilename.split('-')[0].match(/\d{4}/)[0],
Common.getMetadataFromImgName = function (imgFilename, technique) {
const extractor = {
nir: extractNIRMetadata,
dn: extractDNOMetadata,
do: extractDNOMetadata,
}
return extractor[technique](imgFilename);
}
export default Common;