diff --git a/relight-pano/main.cpp b/relight-pano/main.cpp index e8a03e5..135a1e5 100644 --- a/relight-pano/main.cpp +++ b/relight-pano/main.cpp @@ -71,7 +71,13 @@ int main(int argc, char *argv[]) } startingStep = (PanoBuilder::Steps) s; } - builder.setMm3d("/Users/erika/Desktop/micmac/bin/mm3d"); + builder.setMm3d("/home/ponchio/devel/micmac/bin/mm3d"); + //"/Users/erika/Desktop/micmac/bin/mm3d"); + builder.setRelightCli("/home/ponchio/devel/relight/relight-cli/relight-cli"); + //"/Users/erika/Desktop/projects/relight/build/relight-cli/relight-cli"; + builder.setRelightMerge("/home/ponchio/devel/relight/relight-merge/relight-merge"); + //"/Users/erika/Desktop/projects/relight/build/relight-cli/relight-merge"; + builder.process(startingStep); } catch(QString error){ diff --git a/relight-pano/panobuilder.cpp b/relight-pano/panobuilder.cpp index e17c9a4..b3211f3 100644 --- a/relight-pano/panobuilder.cpp +++ b/relight-pano/panobuilder.cpp @@ -20,12 +20,12 @@ void PanoBuilder::setMm3d(QString path){ ensureExecutable(path); mm3d_path = path; } -void PanoBuilder::relightCli(QString path){ +void PanoBuilder::setRelightCli(QString path){ ensureExecutable(path); relight_cli_path = path; } -void PanoBuilder::relightMerge(QString path){ +void PanoBuilder::setRelightMerge(QString path){ ensureExecutable(path); relight_merge_path = path; } @@ -103,6 +103,14 @@ void PanoBuilder::rti(){ } } + + QDir mergeDir(base_dir.filePath("merge")); + if (!mergeDir.exists()) { + if (!base_dir.mkdir("merge")) { + throw QString("Could not create 'merge' directory"); + } + } + //search the subdirectory, the QDir::Dirs | filter QDir::NoDotAndDotDot to get all subdirectories inside the root directory QStringList subDirs = datasets_dir.entryList(QDir::Dirs | QDir::NoDotAndDotDot); for (const QString &subDirName : subDirs) { @@ -115,23 +123,38 @@ void PanoBuilder::rti(){ QString relightFile = relightFiles[0]; - QString program = "/Users/erika/Desktop/projects/relight/build/relight-cli/relight-cli"; QStringList arguments; arguments << subDir.absoluteFilePath(relightFile) << rtiDir.filePath(subDir.dirName()) <<"-b" << "ptm" << "-p" << "18" << "-m"; - QString command = program + " " + arguments.join(" "); + QString command = relight_cli_path + " " + arguments.join(" "); cout << "print command: " << qPrintable(command) <imageIfdValues ); - Q_ASSERT(startPos + exifIfdOffset == device->pos()); +#ifndef QT_NO_DEBUG + Q_ASSERT(startPos + exifIfdOffset == device->pos()); +#endif stream << quint16(d->exifIfdValues.count()); // 2014-02-03 Sig exifIfdOffset += 2; // add 2 bytes for d->exifIfdValues.count() @@ -1692,14 +1694,18 @@ qint64 QExifImageHeader::write(QIODevice *device) const // Sig writeExifHeaders(stream, d->exifIfdValues, exifIfdOffset); writeExifValues(stream, d->exifIfdValues); +#ifndef QT_NO_DEBUG Q_ASSERT(startPos + gpsIfdOffset == device->pos()); - if (!d->gpsIfdValues.isEmpty()) { +#endif + if (!d->gpsIfdValues.isEmpty()) { stream << quint16(d->gpsIfdValues.count()); writeExifHeaders(stream, d->gpsIfdValues, gpsIfdOffset); writeExifValues(stream, d->gpsIfdValues); } +#ifndef QT_NO_DEBUG Q_ASSERT(startPos + offset == device->pos()); - if (!d->thumbnailData.isEmpty()) { +#endif + if (!d->thumbnailData.isEmpty()) { offset += 86; stream << quint16(7); QExifValue xResolution = d->thumbnailXResolution.isNull() @@ -1724,11 +1730,15 @@ qint64 QExifImageHeader::write(QIODevice *device) const QExifValue(quint32(d->thumbnailData.size())), offset); writeExifValue(stream, xResolution); writeExifValue(stream, yResolution); +#ifndef QT_NO_DEBUG Q_ASSERT(startPos + offset == device->pos()); +#endif device->write(d->thumbnailData); offset += d->thumbnailData.size(); } - Q_ASSERT(startPos + offset == device->pos()); +#ifndef QT_NO_DEBUG + Q_ASSERT(startPos + offset == device->pos()); +#endif d->size = offset; #ifdef TEXIF exDevice->write(exif);