void projectiveTransformDialog::okClicked() {
	qDebug("Projective Transformation from %s to %s", transforminfo->srcProjection->getName(), transforminfo->dstProjection->getName());

	pfs::DOMIO pfsio;
	pfs::Channel *R,*G,*B;
	original->getRGBChannels( R,G,B );
	int xSize=original->getWidth();
	int ySize=(int)(xSize / transforminfo->dstProjection->getSizeRatio());
	transformed = pfsio.createFrame( xSize,ySize );
	pfs::ChannelIterator *it = original->getChannels();
	while( it->hasNext() ) {
		pfs::Channel *originalCh = it->getNext();
		pfs::Channel *newCh = transformed->createChannel( originalCh->getName() );
		transformArray( originalCh, newCh, transforminfo );
	}
	pfs::copyTags( original, transformed );
	emit accept();
}
static void marshall_charPP(Marshall *m) {
    m->item().s_voidp = transformArray(m->var());
    m->next();
}