Esempio n. 1
0
Grabber::Grabber(QString grabberName, int width, int height, int cropLeft, int cropRight, int cropTop, int cropBottom)
	: _imageResampler()
	, _useImageResampler(true)
	, _videoMode(VIDEO_2D)
	, _width(width)
	, _height(height)
	, _cropLeft(0)
	, _cropRight(0)
	, _cropTop(0)
	, _cropBottom(0)
	, _enabled(true)
	, _log(Logger::getInstance(grabberName))

{
	setVideoMode(VIDEO_2D);
	setCropping(cropLeft, cropRight, cropTop, cropBottom);
}
Esempio n. 2
0
vtkRenderWindow* RenderWidget::renderImage(char* image, char *activity){
	Volume* iad = NULL;

	if(activity==NULL){
		std::list<isis::data::Image> images = isis::data::IOFactory::load(image);
		iad = new Volume(&images.front());

	}else{
		std::list<isis::data::Image> images = isis::data::IOFactory::load(image);
		std::list<isis::data::Image> activities = isis::data::IOFactory::load(activity);
		iad = new Volume(&images.front(),&activities.front());
	}

	double* bounds= iad->getBounds();
	this->cropping = iad->getBounds();

	this->renderer = vtkRenderer::New();

	vtkVolumeProperty *propertyBrain;
	vtkFixedPointVolumeRayCastMapper* mapper;
	vtkColorTransferFunction* colorFun1;  
	vtkColorTransferFunction* colorFun2;  
	vtkPiecewiseFunction* opacityFun1;
	vtkPiecewiseFunction* opacityFun2;

	vtkVolume * volume = vtkVolume::New();
	//bild 1


	mapper = vtkFixedPointVolumeRayCastMapper::New();
	//mapper->SetImageSampleDistance(0.5);
	//mapper->SetSampleDistance(0.1);
	mapper->SetImageSampleDistance(1.5);
	mapper->SetSampleDistance(0.3);
	mapper->SetInput(iad->GetOutput());
	propertyBrain = vtkVolumeProperty::New();




	colorFun1 =vtkColorTransferFunction::New();
	colorFun1->AddRGBPoint( 10,	0.0, 	0.0, 	0.0);
	colorFun1->AddRGBPoint( 50,	0.2, 	0.2, 	0.2);
	colorFun1->AddRGBPoint(100,	0.4,	0.4, 	0.4);
	colorFun1->AddRGBPoint(200,	0.6,	0.6,	0.6);
	colorFun1->AddRGBPoint(300,	0.8,	0.8,	0.8);
	colorFun1->AddRGBPoint(  0,	0,	0, 	0);
	propertyBrain->SetColor(0, colorFun1 );
	opacityFun1 = vtkPiecewiseFunction::New();
	opacityFun1->AddPoint( 0, 0);
	opacityFun1->AddPoint(90, 1);	
	propertyBrain->SetScalarOpacity(0, opacityFun1 );



	colorFun2 =vtkColorTransferFunction::New();
	colorFun2->AddRGBPoint(-4,	 1, 	1, 	1);
	colorFun2->AddRGBPoint(-0.2,	 0, 	0, 	1);
	colorFun2->AddRGBPoint(-0.19,	 0, 	0, 	0);
	colorFun2->AddRGBPoint( 0,	 0,	0, 	0);
	colorFun2->AddRGBPoint( 0.19,	 0, 	0, 	0);
	colorFun2->AddRGBPoint( 0.2,	 1, 	0, 	0);
	colorFun2->AddRGBPoint( 4, 	 1, 	1, 	1);
	propertyBrain->SetColor(1,colorFun2 );
	opacityFun2 = vtkPiecewiseFunction::New();
	opacityFun2->AddPoint(-4, 	1);	
	opacityFun2->AddPoint(-0.2,	1);	
	opacityFun2->AddPoint(-0.19,	0);	
	opacityFun2->AddPoint( 0,	0);	
	opacityFun2->AddPoint( 0.19,	0);	
	opacityFun2->AddPoint( 0.2,	1);	
	propertyBrain->SetScalarOpacity(1,opacityFun2 );


	propertyBrain->SetInterpolationTypeToLinear();
	volume->SetProperty( propertyBrain );
	volume->SetMapper(mapper);
	renderer->AddVolume(volume);


	//  vtkPlane* plane1 =vtkPlane::New(); 
	//  plane1->SetNormal(1,0,0);
	// plane1->SetOrigin(bounds[0],0,0);
	//  mapper->AddClippingPlane(plane1);
	mapper->CroppingOn();
	mapper->SetCroppingRegionFlagsToFence();
	this->mapper = mapper;
	setCropping();




	renderer->SetBackground(0.1, 0.2, 0.4);
	renderer->ResetCamera();
	this->cam=renderer->GetActiveCamera();
	setCameraBack(); 

	vtkRenderWindow* renWin = vtkRenderWindow::New();
	renWin->AddRenderer(renderer);
	return renWin;
}
Esempio n. 3
0
void RenderWidget::setCroppingZ(double* z){
	this->cropping[4]=z[0];
	this->cropping[5]=z[1];
	setCropping();
}
Esempio n. 4
0
void RenderWidget::setCroppingY(double* y){
	this->cropping[2]=y[0];
	this->cropping[3]=y[1];
	setCropping();
}