21#include <tl/expected.hpp>
73 std::shared_ptr<ModelConfig> config;
133 QString
modelError(const QString& name) const noexcept;
180 QJsonObject
modelToJson(const QString& name) const noexcept;
252 const
ModelEntry* findEntry(const QString& name) const noexcept;
257 QHash<QString,
int> indexByName_;
259 QString activeModelName_;
Model configuration container and JSON loader for neural-network metadata.
Stores one parsed model configuration and runtime class-selection state.
Definition ModelConfig.h:52
Manages model configurations in a directory and exposes UI-friendly state.
Definition ModelManager.h:43
void modelsListUpdated(const QVector< ModelEntry > &models)
Emitted when models list is refreshed.
QString modelError(const QString &name) const noexcept
Get error text of a model by name.
Definition ModelManager.cpp:66
bool setClassSelected(const QString &modelName, ModelConfig::ClassId id, bool selected)
Update selected state of one class of one model.
Definition ModelManager.cpp:190
std::optional< ModelEntry > modelFromJson(const QJsonObject &obj) const noexcept
Restore class-selection state from JSON for a known model.
Definition ModelManager.cpp:251
ModelState
High-level availability state of a model entry.
Definition ModelManager.h:50
void onInputAlignmentRequested(const QString &modelName, uint alignment)
Slot to handle input alignment changes from UI thread.
Definition ModelManager.cpp:305
const QVector< ModelEntry > & models() const noexcept
Get all discovered model entries (ready and invalid).
Definition ModelManager.cpp:33
QString nameFilter() const noexcept
Get the current name filter pattern.
Definition ModelManager.cpp:28
void setNameFilter(const QString &pattern)
Set a filename filter pattern (wildcard style) Only model configs matching this pattern will be loade...
Definition ModelManager.cpp:23
static QString defaultModelDirectory()
Get the platform-specific default model directory.
Definition ModelManager.cpp:18
void onModelActivationRequested(const QString &modelName)
Slot to handle model activation requests from UI thread.
Definition ModelManager.cpp:272
void onApplyMeanStdRequested(const QString &modelName, bool apply)
Slot to handle apply mean/std setting changes from UI thread.
Definition ModelManager.cpp:285
void markModelIncompatible(const QString &name, const QString &reason)
Mark a model as incompatible with runtime/model consumer.
Definition ModelManager.cpp:201
const QString & activeModelName() const noexcept
Get name of active model, or empty if none active.
Definition ModelManager.cpp:186
void classListUpdated(const QVector< ModelConfig::ClassInfo > &classes)
Emitted when class list is updated for the current model.
void onNormalizeTo01Requested(const QString &modelName, bool normalize)
Slot to handle normalize to [0,1] setting changes from UI thread.
Definition ModelManager.cpp:295
std::optional< ModelEntry > activeModel() const noexcept
Get currently active model entry.
Definition ModelManager.cpp:178
QString modelToString(const QString &name) const noexcept
Serialize model selection summary as user-friendly text.
Definition ModelManager.cpp:213
QJsonObject modelToJson(const QString &name) const noexcept
Serialize model class-selection state to JSON.
Definition ModelManager.cpp:232
void modelActivated(const QString &modelName, ModelManager::ModelState state, const QString &error)
Emitted when a model is activated and initial data is ready.
QStringList availableModelNames() const
Get sorted names of models currently in Ready state.
Definition ModelManager.cpp:37
void refresh()
Re-scan the model directory and rebuild model list/state.
Definition ModelManager.cpp:74
ModelState modelState(const QString &name) const noexcept
Get state of a model by name.
Definition ModelManager.cpp:58
std::optional< ModelEntry > activateModel(const QString &name)
Activate a model and emit activation/class-list signals.
Definition ModelManager.cpp:147
~ModelManager()
Destructor.
void onModelsRefreshRequested()
Slot to handle refresh requests from UI thread.
Definition ModelManager.cpp:280
void onClassSelectionRequested(const QString &modelName, uint classId, bool selected)
Slot to handle class selection requests from UI thread.
Definition ModelManager.cpp:276
Namespace containing model-configuration components used by iVS3D plugins.
Definition ModelConfig.h:35
Cached record for one discovered model.
Definition ModelManager.h:61
QString error
Definition ModelManager.h:71
ModelState state
Definition ModelManager.h:69
QString name
Definition ModelManager.h:63
QString jsonPath
Definition ModelManager.h:65
QString onnxPath
Definition ModelManager.h:67