예제 #1
0
 void emitProgress() {
     emit progressed(m_done, m_total);
     emit hasProgressValue(m_done >> m_shift);
 }
예제 #2
0
void QCodingChain::run()
{
	//////////////////////////////////////////////////////////////////////////////////////////////
	//
	// Initialize
	//
	//////////////////////////////////////////////////////////////////////////////////////////////

	if(mMode == QCodingChain::Unknown)
	{
		return;
	}

	if(mMode != QCodingChain::EncodeFile && mMode != QCodingChain::EncodeData)
	{
		(this->*detectCoder)();
		if(mInputCoder == NULL)
		{
			QCoder::Error error = mManager->error();
			if(error == QCoder::UnsupportedCodecError)
			{
				setError(QCoder::UnsupportedInputCodecError);
			}
			else if(error == QCoder::UnavailableCodecError)
			{
				setError(QCoder::UnavailableInputCodecError);
			}
			else
			{
				setError(error);
			}
			return;
		}
		else
		{
			QObject::connect(mInputCoder, SIGNAL(failed(QCoder::Error)), this, SLOT(setError(QCoder::Error)), Qt::DirectConnection);
		}
	}
	if(mError != QCoder::NoError) return;

	if(mMode != QCodingChain::DecodeFile && mMode != QCodingChain::DecodeData)
	{
		mOutputCoder = mManager->coder(*mOutputFormat);
		if(mOutputCoder == NULL)
		{
			QCoder::Error error = mManager->error();
			if(error == QCoder::UnsupportedCodecError)
			{
				setError(QCoder::UnsupportedOutputCodecError);
			}
			else if(error == QCoder::UnavailableCodecError)
			{
				setError(QCoder::UnavailableOutputCodecError);
			}
			else
			{
				setError(error);
			}
			return;
		}
		else
		{
			QObject::connect(mOutputCoder, SIGNAL(failed(QCoder::Error)), this, SLOT(setError(QCoder::Error)), Qt::DirectConnection);
		}
	}
	if(mError != QCoder::NoError) return;

	//////////////////////////////////////////////////////////////////////////////////////////////
	//
	// Initialize mode
	//
	//////////////////////////////////////////////////////////////////////////////////////////////

	mInput->disconnect();
	mDecoder.disconnect();
	mEncoder.disconnect();
	mOutput->disconnect();
	QObject::connect(mInput, SIGNAL(failed(QCoder::Error)), this, SLOT(setError(QCoder::Error)), Qt::DirectConnection);
	QObject::connect(&mDecoder, SIGNAL(failed(QCoder::Error)), this, SLOT(setError(QCoder::Error)), Qt::DirectConnection);
	QObject::connect(&mEncoder, SIGNAL(failed(QCoder::Error)), this, SLOT(setError(QCoder::Error)), Qt::DirectConnection);
	QObject::connect(mOutput, SIGNAL(failed(QCoder::Error)), this, SLOT(setError(QCoder::Error)), Qt::DirectConnection);

	if(mMode == QCodingChain::ConvertFileToFile || mMode == QCodingChain::ConvertFileToData || mMode == QCodingChain::ConvertDataToFile || mMode == QCodingChain::ConvertDataToData)
	{
		mInput->setNext(&mDecoder);
		mDecoder.setNext(&mEncoder);
		mEncoder.setNext(mOutput);
		mOutputCoder->setFormat(QAudio::AudioOutput, *mOutputFormat);
		if(mMode == QCodingChain::ConvertDataToFile || mMode == QCodingChain::ConvertDataToData)
		{
			mInputCoder->setFormat(QAudio::AudioInput, *mInputFormat);
		}
	}
	else if(mMode == QCodingChain::DecodeFile || mMode == QCodingChain::DecodeData)
	{
		mInput->setNext(&mDecoder);
		mDecoder.setNext(mOutput);
		if(mMode == QCodingChain::DecodeData)
		{
			mInputCoder->setFormat(QAudio::AudioInput, *mInputFormat);
		}
	}
	else if(mMode == QCodingChain::EncodeFile || mMode == QCodingChain::EncodeData)
	{
		mInput->setNext(&mEncoder);
		mEncoder.setNext(mOutput);
		mOutputCoder->setFormat(QAudio::AudioOutput, *mOutputFormat);
	}

	mInput->initialize();
	if(mError != QCoder::NoError) return;

	mOutput->initialize();
	if(mError != QCoder::NoError) return;

	if(mMode != QCodingChain::EncodeFile && mMode != QCodingChain::EncodeData)
	{
		mDecoder.setCoder(mInputCoder);
		mInputCoder->load();
		if(mError != QCoder::NoError) return;
		mDecoder.initialize();
		if(mError != QCoder::NoError) return;
	}
	if(mMode != QCodingChain::DecodeFile && mMode != QCodingChain::DecodeData)
	{
		mEncoder.setCoder(mOutputCoder);
		mOutputCoder->load();
		if(mError != QCoder::NoError) return;
		mEncoder.initialize();
		if(mError != QCoder::NoError) return;
		if(mMode == QCodingChain::EncodeFile || mMode == QCodingChain::EncodeData)
		{
			mOutputCoder->setFormat(QAudio::AudioInput, *mInputFormat);
			mInput->setSampleSize(mInputFormat->sampleSize());
			mEncoder.changeFormat(*mInputFormat);
		}
	}

	//////////////////////////////////////////////////////////////////////////////////////////////
	//
	// Execute
	//
	//////////////////////////////////////////////////////////////////////////////////////////////

	qreal progressedData = 0;
	qint64 totalSize = mInput->size(); 
	static qint32 chunkSize = mInput->chunkSize();
	qreal progress = 0;

	while(mInput->hasData())
	{
		mInput->execute();

		progressedData += chunkSize;
		if(totalSize <= 0)
		{
			progress = 0;
		}
		else
		{
			progress = progressedData / totalSize * 99; // * 99 to first finalize everything before 100% is emitted
		}
		emit progressed(progress);
		if(mError != QCoder::NoError) return;
	}

	//////////////////////////////////////////////////////////////////////////////////////////////
	//
	// Finalize
	//
	//////////////////////////////////////////////////////////////////////////////////////////////

	mInput->finalize();
	if(mError != QCoder::NoError) return;
	if(mMode != QCodingChain::EncodeFile && mMode != QCodingChain::EncodeData)
	{
		if(mMode == QCodingChain::DecodeFile || mMode == QCodingChain::DecodeData)
		{
			*mInputFormat = mInputCoder->format(QAudio::AudioInput);
		}
		mDecoder.finalize();
		if(mError != QCoder::NoError) return;
	}
	if(mMode != QCodingChain::DecodeFile && mMode != QCodingChain::DecodeData)
	{
		mEncoder.finalize();
		if(mError != QCoder::NoError) return;
	}
	mOutput->finalize();

	if(mInputCoder != NULL)
	{
		mInputCoder->unload();
	}
	if(mOutputCoder != NULL)
	{
		mOutputCoder->unload();
	}

	progress = 100;
	emit progressed(progress);
}
void dtkAbstractDataDeserializer::setProgress(int value)
{
    emit progressed (value);
}
void itkDCMTKDataImageReader::setProgress (int value)
{
    emit progressed(value); qApp->processEvents();
}
void vtkDataMeshReader::setProgress(int value) {
    emit progressed(value);
}
void v3dDataFibersReader::setProgress (int value) {
    emit progressed (value);
}
void itkDataImageReaderBase::setProgress (int value)
{
    emit progressed (value);
}
예제 #8
0
ViNoiseBatcher::ViNoiseBatcher()
{
	mCurrentObject = ViAudioObject::create();
	mMainTime.start();

	/*mDetector = new ViZscoreNoiseDetector();
	addParam("Window Size", 1868, 1868, 1);
	mThreshold = 0.109645025;*/

	/*mDetector = new ViNearestNeighbourNoiseDetector();
	addParam("K", 324, 324, 1);
	mThreshold = 0.340127125;*/

	/*mDetector = new ViMahalanobisNoiseDetector();
	addParam("Window Size", 3264, 3264, 20);
	mThreshold = 0.32745225;*/

	/*mDetector = new ViMadNoiseDetector();
	addParam("Window Size", 1600, 1600, 8);
	mThreshold = 0.127406163;*/

	/*mDetector = new ViFourierNoiseDetector();
	addParam("Window Size", 64,64, 128);
	addParam("Range Start", 5, 5, 25);
	addParam("Range End", 25, 25, 25);
	mThreshold = 0.8094575;*/







	/*mDetector = new ViPredictionNoiseDetector(new ViPolynomialPredictor());
	addParam("Window Size", 1560, 1560, 1);
	addParam("Degree", 1, 1, 1);
	mThreshold = 0.189501;*/

	/*mDetector = new ViPredictionNoiseDetector(new ViPolynomialPredictor(ViPolynomialPredictor::Osculating));
	addParam("Window Size", 48, 48, 1);
	addParam("Degree", 2, 2, 1);
	addParam("Derivatives", 1, 1, 1);
	mThreshold = 0.196139625;*/

	/*mDetector = new ViPredictionNoiseDetector(new ViFourierPredictor());
	addParam("Window Size", 64, 64, 1);
	addParam("Degree", 10, 10, 1);
	mThreshold = 0.22009925;*/

	/*mDetector = new ViPredictionNoiseDetector(new ViFourierPredictor(ViFourierPredictor::Osculating));
	addParam("Window Size", 64, 64, 1);
	addParam("Degree", 10, 10, 1);
	addParam("Derivatives", 1, 1, 8);
	mThreshold = 0.21217875;*/

	/*mDetector = new ViPredictionNoiseDetector(new ViHermitePredictor());
	addParam("Window Size", 2, 2, 1);
	mThreshold = 0.195884;*/

	/*mDetector = new ViPredictionNoiseDetector(new ViNewtonPredictor());
	addParam("Window Size", 2, 2, 1);
	mThreshold = 0.19807075;*/

	/*mDetector = new ViPredictionNoiseDetector(new ViLagrangePredictor());
	addParam("Window Size", 2, 2, 1);
	mThreshold = 0.192705;*/

	/*mDetector = new ViPredictionNoiseDetector(new ViArmaPredictor());
	addParam("Window Size", 64, 64, 1);
	addParam("AR Degree", 2, 2, 1);
	addParam("I Degree", 0, 0, 1);
	addParam("MA Degree", 0, 0, 1);
	mThreshold = 0.204728;*/

	/*mDetector = new ViPredictionNoiseDetector(new ViArmaPredictor());
	addParam("Window Size", 508, 508, 1);
	addParam("AR Degree", 0, 0, 1);
	addParam("I Degree", 0, 0, 1);
	addParam("MA Degree", 1, 1, 1);
	mThreshold = 0.194168375;*/

	/*mDetector = new ViPredictionNoiseDetector(new ViArmaPredictor());
	addParam("Window Size", 64, 64, 1);
	addParam("AR Degree", 2, 2, 1);
	addParam("I Degree", 0, 0, 1);
	addParam("MA Degree", 2, 2, 1);
	mThreshold = 0.204854125;*/

	/*mDetector = new ViPredictionNoiseDetector(new ViArmaPredictor());
	addParam("Window Size", 192, 192, 1);
	addParam("AR Degree", 8, 8, 1);
	addParam("I Degree", 1, 1, 1);
	addParam("MA Degree", 2, 2, 1);
	mThreshold = 0.196836;*/

	/*mDetector = new ViPredictionNoiseDetector(new ViGarchPredictor());
	addParam("Window Size", 48, 48, 1);
	addParam("Arch Degree", 1, 1, 1);
	addParam("Garch Degree", 0, 0, 1);
	mThreshold = 0.197459625;*/

	/*mDetector = new ViPredictionNoiseDetector(new ViGarchPredictor());
	addParam("Window Size", 48, 48, 1);
	addParam("Arch Degree", 1, 1, 1);
	addParam("Garch Degree", 1, 1, 1);
	mThreshold = 0.197459625;*/

	/*mDetector = new ViPredictionNoiseDetector(new ViNeuralPredictor(ViNeuralPredictor::IncrementalSet));
	addParam("Window Size", 4, 4, 1);
	addParam("Hidden Layer 1", 8, 8, 1);
	mThreshold = 0.21376275;*/

	/*mDetector = new ViPredictionNoiseDetector(new ViNeuralPredictor(ViNeuralPredictor::IncrementalRecurrent));
	addParam("Window Size", 12, 12, 1);
	mThreshold = 0.211363;*/


	mDetector->setMode(ViNoiseDetector::Standard);

	QObject::connect(mDetector, SIGNAL(progressed(qreal)), this, SLOT(progressDetect(qreal)));
}
void dtkAbstractDataWriter::setProgress(int value)
{
    emit progressed (value);
}