/*virtual void fileDialogSelectNameFilter(QFileDialog *qfd, const QString &filter)
 {
     K_FD(qfd);
 }*/
 virtual QString fileDialogSelectedNameFilter(const QFileDialog *qfd) const
 {
     K_FD(qfd);
     Q_ASSERT(kdefd);
     QString ret;
     kde2QtFilter(qfd->nameFilters().join(";;"), kdefd->currentFilter(), &ret);
     return ret;
 }
Exemplo n.º 2
0
	/**
	 * @brief	Covariance matrix between the functional and derivative training data
	 *				or its partial derivative
	 * @note		It calls the protected general member function, 
	 *				CovSEisoDerObsBase::K_FD(const Hyp &logHyp, const MatrixConstPtr pSqDist, const MatrixConstPtr pDelta, const int pdHypIndex = -1)
	 *				which only depends on pair-wise squared distances and differences.
	 * @param	[in] logHyp 							The log hyperparameters
	 *															- logHyp(0) = \f$\log(l)\f$
	 *															- logHyp(1) = \f$\log(\sigma_f)\f$
	 * @param	[in] derivativeTrainingData 		The functional and derivative training data
	 * @param	[in] coord_j 							The partial derivative coordinate of Z
	 * @param	[in] pdHypIndex						(Optional) Hyperparameter index for partial derivatives
	 * 														- pdHypIndex = -1: return \f$\frac{\partial \mathbf{K}(\mathbf{X}, \mathbf{Z})}{\partial \mathbf{Z}_j}\f$ (default)
	 *															- pdHypIndex =  0: return \f$\frac{\partial^2 \mathbf{K}(\mathbf{X}, \mathbf{Z})}{\partial \log(l) \partial \mathbf{Z}_j}\f$
	 *															- pdHypIndex =  1: return \f$\frac{\partial^2 \mathbf{K}(\mathbf{X}, \mathbf{Z})}{\partial \log(\sigma_f) \partial \mathbf{Z}_j}\f$
	 * @return	An NNxNN matrix pointer\n
	 * 			NN: The number of functional and derivative training data
	 */
	static MatrixPtr K_FD(const Hyp									&logHyp, 
								 DerivativeTrainingData<Scalar>		&derivativeTrainingData, 
								 const int									coord_j, 
								 const int									pdHypIndex)
	{
		return K_FD(logHyp, 
						derivativeTrainingData.pSqDistXXd(), 
						derivativeTrainingData.pDeltaXXd(coord_j), 
						pdHypIndex);
	}
Exemplo n.º 3
0
	/**
	 * @brief	Cross covariance matrix between the derivative and functional training data
	 * @note		It calls the protected static member function, CovSEisoDerObsBase::K_FD
	 *				to utilize the symmetry property.
	 * @param	[in] logHyp 							The log hyperparameters
	 *															- logHyp(0) = \f$\log(l)\f$
	 *															- logHyp(1) = \f$\log(\sigma_f)\f$
	 * @param	[in] derivativeTrainingData 		The functional and derivative training data
	 * @param	[in] testData 							The test data
	 * @param	[in] coord_i 							The partial derivative coordinate of X
	 * @return	An NNxNN matrix pointer, \f$\frac{\partial \mathbf{K}_*(\mathbf{X}, \mathbf{X}_*)}{\partial \mathbf{X}_i} = \mathbf{K}(\mathbf{X}, \mathbf{Z})\f$\n
	 * 			NN: The number of functional and derivative training data
	 */
	static MatrixPtr Ks_DF(const Hyp											&logHyp, 
								  const DerivativeTrainingData<Scalar>		&derivativeTrainingData, 
								  const TestData<Scalar>						&testData, 
								  const int											coord_i)
	{
		// squared distance: FD
		MatrixPtr pSqDistXsXd = derivativeTrainingData.pSqDistXdXs(testData);
		pSqDistXsXd->transposeInPlace();

		// delta: FD
		MatrixPtr pDeltaXsXd = derivativeTrainingData.pDeltaXdXs(testData, coord_i);
		pDeltaXsXd->transposeInPlace();
		(*pDeltaXsXd) *= static_cast<Scalar>(-1.f);

		// K_DF
		MatrixPtr K = K_FD(logHyp, pSqDistXsXd, pDeltaXsXd);
		K->transposeInPlace();

		return K;
	}
    virtual bool fileDialogSetVisible(QFileDialog *qfd, bool visible)
    {
        K_FD(qfd);
        if (!kdefd && visible) {
            if(qfd->options() & QFileDialog::DontUseNativeDialog)
                return false;

            kdefd = new KFileDialogBridge(KUrl::fromPath(qfd->directory().canonicalPath()),
                                          qt2KdeFilter(qfd->nameFilters().join(";;")), qfd);

            qfd->setProperty("_k_bridge", QVariant::fromValue(kdefd));
        }

        if (visible) {
            switch (qfd->fileMode()) {
                case QFileDialog::AnyFile:
                    kdefd->setMode(KFile::LocalOnly | KFile::File);
                    break;
                case QFileDialog::ExistingFile:
                    kdefd->setMode(KFile::LocalOnly | KFile::File | KFile::ExistingOnly);
                    break;
                case QFileDialog::ExistingFiles:
                    kdefd->setMode(KFile::LocalOnly | KFile::Files | KFile::ExistingOnly);
                    break;
                case QFileDialog::Directory:
                case QFileDialog::DirectoryOnly:
                    kdefd->setMode(KFile::LocalOnly | KFile::Directory);
                    break;
            }


            kdefd->setOperationMode((qfd->acceptMode() == QFileDialog::AcceptSave) ? KFileDialog::Saving : KFileDialog::Opening);
            kdefd->setCaption(qfd->windowTitle());
            kdefd->setConfirmOverwrite(qfd->confirmOverwrite());
            kdefd->setSelection(qfd->selectedFiles().value(0));
        }
        kdefd->setVisible(visible);
        return true;
    }
 /*virtual void fileDialogSetFilter(QFileDialog *qfd)
 {
     K_FD(qfd);
 }*/
 virtual void fileDialogSetNameFilters(QFileDialog *qfd, const QStringList &filters)
 {
     K_FD(qfd);
     Q_ASSERT(kdefd);
     kdefd->setFilter(qt2KdeFilter(filters.join(";;")));
 }
 virtual QStringList fileDialogSelectedFiles(const QFileDialog *qfd) const
 {
     K_FD(qfd);
     Q_ASSERT(kdefd);
     return kdefd->selectedFiles();
 }
 virtual void fileDialogSelectFile(QFileDialog *qfd, const QString &filename)
 {
     K_FD(qfd);
     Q_ASSERT(kdefd);
     kdefd->setSelection(filename);
 }
 virtual QString fileDialogDirectory(const QFileDialog *qfd) const
 {
     K_FD(qfd);
     Q_ASSERT(kdefd);
     return kdefd->baseUrl().pathOrUrl();
 }
 virtual void fileDialogSetDirectory(QFileDialog *qfd, const QString &directory)
 {
     K_FD(qfd);
     kdefd->setUrl(KUrl::fromPath(directory));
 }
 virtual QDialog::DialogCode fileDialogResultCode(QFileDialog *qfd)
 {
     K_FD(qfd);
     Q_ASSERT(kdefd);
     return QDialog::DialogCode(kdefd->result());
 }
 virtual void fileDialogDelete(QFileDialog *qfd)
 {
     K_FD(qfd);
     delete kdefd;
 }