Exemplo n.º 1
0
bool CvSplit_Processor::onInit()
{
	LOG(LTRACE) << "CvSplit_Processor::initialize\n";

	h_onNewImage.setup(this, &CvSplit_Processor::onNewImage);
	registerHandler("onNewImage", &h_onNewImage);

	registerStream("in_img", &in_img);

	newImage = registerEvent("newImage");

	if (props.channels < 1) {
		LOG(LERROR) << "CvSplit_Processor::number of channels must be positive\n";
		return false;
	}

	mv.resize(props.channels);
	out_img.resize(props.channels);

	for (int i = 0; i < props.channels; ++i) {
		out_img[i] = new Base::DataStreamOut<cv::Mat>;
		registerStream("out_img_"+int2str(i), out_img[i]);
	}


	return true;
}
void HomogMatrixPub::prepareInterface() {
	// Register data streams, events and event handlers HERE!
    //input streams
    registerStream("in_matrix", &in_matrix);
	registerStream("in_found", &in_found);
    registerStream("in_time_nsec_pocz", &in_time_nsec_pocz);
    registerStream("in_time_sec_pocz", &in_time_sec_pocz);

    //output streams
    registerStream("out_matrix", &out_matrix);
    registerStream("out_found", &out_found);
    registerStream("out_time_nsec_pocz", &out_time_nsec_pocz);
    registerStream("out_time_sec_pocz", &out_time_sec_pocz);
    registerStream("out_time_nsec_kon", &out_time_nsec_kon);
    registerStream("out_time_sec_kon", &out_time_sec_kon);

	// Register handlers
	h_onNewData.setup(boost::bind(&HomogMatrixPub::onNewData, this));
	registerHandler("onNewData", &h_onNewData);
	addDependency("onNewData", &in_matrix);
    addDependency("onNewData", &in_found);
    //addDependency("onNewData", &in_time_nsec_pocz);
    //addDependency("onNewData", &in_time_sec_pocz);

    //registerProperty(trigger_delay);
}
Exemplo n.º 3
0
void CloudViewer::prepareInterface() {
	// Register data streams, events and event handlers HERE!
	registerStream("in_cloud_xyz", &in_cloud_xyz);
	registerStream("in_cloud_xyzrgb", &in_cloud_xyzrgb);
	registerStream("in_cloud_xyzsift", &in_cloud_xyzsift);
	registerStream("in_cloud_normals", &in_cloud_normals);
	registerStream("in_cloud_xyzrgb_normals", &in_cloud_xyzrgb_normals);

	// Register handlers
	registerHandler("on_cloud_xyz",
			boost::bind(&CloudViewer::on_cloud_xyz, this));
	addDependency("on_cloud_xyz", &in_cloud_xyz);

	registerHandler("on_cloud_xyzrgb",
			boost::bind(&CloudViewer::on_cloud_xyzrgb, this));
	addDependency("on_cloud_xyzrgb", &in_cloud_xyzrgb);

	registerHandler("on_cloud_xyzsift",
			boost::bind(&CloudViewer::on_cloud_xyzsift, this));
	addDependency("on_cloud_xyzsift", &in_cloud_xyzsift);

	registerHandler("on_cloud_normals",
			boost::bind(&CloudViewer::on_cloud_normals, this));
	addDependency("on_cloud_normals", &in_cloud_normals);

	registerHandler("on_spin", boost::bind(&CloudViewer::on_spin, this));
	addDependency("on_spin", NULL);

	registerHandler("on_cloud_xyzrgb_normals",
			boost::bind(&CloudViewer::on_cloud_xyzrgb_normals, this));
	addDependency("on_cloud_xyzrgb_normals", &in_cloud_xyzrgb_normals);
}
Exemplo n.º 4
0
bool CameraNUI::onInit() {
    LOG(LTRACE) << "CameraNUI::initialize\n";

    // Regsiter events
    newImage = registerEvent("newImage");
    newDepthMap = registerEvent("newDepthMap");

    // Register data streams
    registerStream("out_img", &outImg);
    registerStream("out_depth_map", &outDepthMap);
//
#ifdef WITH_OPENNI
    if(lib == opencv) {
        capture.open( CV_CAP_OPENNI );
        std::cout << "Yes. We're here\n";
    } else {
#endif
        device = &freenectObj.createDevice<FreenectNUIDevice>(0);
#ifdef WITH_OPENNI
    }
#endif
    cameraFrame = Mat(Size(640,480),CV_8UC3,Scalar(0));
    depthFrame = Mat(Size(640,480),CV_16UC1);
    return true;
}
Exemplo n.º 5
0
void CvWindow_Sink::prepareInterface() {
	CLOG(LTRACE) << "CvWindow_Sink::configure\n";

	h_onRefresh.setup(this, &CvWindow_Sink::onRefresh);
	registerHandler("onRefresh", &h_onRefresh);

	addDependency("onRefresh", NULL);

	Base::EventHandler2 * hand;
	for (int i = 0; i < count; ++i) {
		char id = '0' + i;
		hand = new Base::EventHandler2;
		hand->setup(boost::bind(&CvWindow_Sink::onNewImageN, this, i));
		handlers.push_back(hand);
		registerHandler(std::string("onNewImage") + id, hand);

		Base::DataStreamIn<cv::Mat, Base::DataStreamBuffer::Newest,
				Base::Synchronization::Mutex> * stream =
				new Base::DataStreamIn<cv::Mat, Base::DataStreamBuffer::Newest,
						Base::Synchronization::Mutex>;
		in_img.push_back(stream);
		registerStream(std::string("in_img") + id,
				(Base::DataStreamInterface*) (in_img[i]));
		addDependency(std::string("onNewImage") + id, stream);

		in_draw.push_back(new Base::DataStreamInPtr<Types::Drawable>);
		registerStream(std::string("in_draw") + id, in_draw[i]);

		out_point.push_back(new Base::DataStreamOut<cv::Point>);
		registerStream(std::string("out_point") + id, out_point[i]);

		// save handlers
		hand = new Base::EventHandler2;
		hand->setup(boost::bind(&CvWindow_Sink::onSaveImageN, this, i));
		handlers.push_back(hand);
		registerHandler(std::string("onSaveImage") + id, hand);
	}

	h_onSaveAllImages.setup(this, &CvWindow_Sink::onSaveAllImages);
	registerHandler("onSaveAllImages", &h_onSaveAllImages);

	// register aliases for first handler and streams
	registerHandler("onNewImage", handlers[0]);
	registerStream("in_img", in_img[0]);
	registerStream("in_draw", in_draw[0]);

	img.resize(count);
	to_draw.resize(count);

	// Split window titles.
	std::string t = title;
	boost::split(titles, t, boost::is_any_of(","));
	if ((titles.size() == 1) && (count > 1))
		titles.clear();
	for (int i = titles.size(); i < count; ++i) {
		char id = '0' + i;
		titles.push_back(std::string(title) + id);
	}
}
Exemplo n.º 6
0
void SphereGenerator::prepareInterface() {
	// Register data streams, events and event handlers HERE!
registerStream("out_pcl_ptr", &out_pcl_ptr);
registerStream("out_pcl", &out_pcl);
	// Register handlers
	h_Generate.setup(boost::bind(&SphereGenerator::Generate, this));
	registerHandler("Generate", &h_Generate);

}
Exemplo n.º 7
0
void CalcStatistics::prepareInterface() {
	// Register data streams, events and event handlers HERE!
	registerStream("in_homogMatrix", &in_homogMatrix);
	registerStream("out_homogMatrix", &out_homogMatrix);

	// Register handlers
	registerHandler("calculate", boost::bind(&CalcStatistics::calculate,this));
	addDependency("calculate", &in_homogMatrix);
}
Exemplo n.º 8
0
void MLS::prepareInterface() {
	// Register data streams, events and event handlers HERE!
	registerStream("in_cloud_xyzrgb", &in_cloud_xyzrgb);
	registerStream("out_cloud_xyzrgb", &out_cloud_xyzrgb);

	h_compute_xyzrgb.setup(boost::bind(&MLS::compute, this));
	registerHandler("h_compute_xyzrgb", &h_compute_xyzrgb);
	addDependency("h_compute_xyzrgb", &in_cloud_xyzrgb);
}
Exemplo n.º 9
0
void CvFAST::prepareInterface() {
	// Register handlers with their dependencies.
	registerHandler("onNewImage", boost::bind(&CvFAST::onNewImage, this));
	addDependency("onNewImage", &in_img);

	// Input and output data streams.
	registerStream("in_img", &in_img);
	registerStream("out_features", &out_features);
}
Exemplo n.º 10
0
void CalcObjectLocation::prepareInterface() {
	// Register data streams, events and event handlers HERE!
	registerStream("in_homogMatrix", &in_homogMatrix);
	registerStream("out_homogMatrix", &out_homogMatrix);

	// Register handlers
	h_calculate.setup(this, &CalcObjectLocation::calculate);
	registerHandler("calculate", &h_calculate);
	addDependency("calculate", &in_homogMatrix);
}
Exemplo n.º 11
0
void SIFTNOMWriter::prepareInterface() {
	// Register data streams, events and event handlers HERE!
	registerStream("in_som", &in_som);
	registerStream("in_cloud_xyzrgb_normals", &in_cloud_xyzrgb_normals);
	registerStream("in_cloud_xyzsift", &in_cloud_xyzsift);
	registerStream("in_mean_viewpoint_features_number", &in_mean_viewpoint_features_number);

	// Register handlers
	registerHandler("WriteNormals", boost::bind(&SIFTNOMWriter::WriteNormals, this));
}
Exemplo n.º 12
0
void xyzrgb2xyzsift::prepareInterface() {
	// Register data streams, events and event handlers HERE!
	registerStream("in_cloud_xyzrgb", &in_cloud_xyzrgb);
	registerStream("out_cloud_xyzsift", &out_cloud_xyzsift);
	// Register handlers
	h_compute.setup(boost::bind(&xyzrgb2xyzsift::compute, this));
	registerHandler("compute", &h_compute);
	addDependency("compute", &in_cloud_xyzrgb);

}
Exemplo n.º 13
0
void PassThrough::prepareInterface() {
	// Register data streams, events and event handlers HERE!
registerStream("in_cloud", &in_cloud);
registerStream("out_cloud", &out_cloud);
	// Register handlers
	h_filter.setup(boost::bind(&PassThrough::filter, this));
	registerHandler("filter", &h_filter);
	addDependency("filter", &in_cloud);

}
Exemplo n.º 14
0
void CvAdaptiveThreshold_Processor::prepareInterface() {
	
	// Register data streams, events and event handlers HERE!
	h_onNewImage.setup(this, &CvAdaptiveThreshold_Processor::onNewImage);
	registerHandler("onNewImage", &h_onNewImage);
	addDependency("onNewImage", &in_img);

	registerStream("in_img", &in_img);
	registerStream("out_img", &out_img);
}
Exemplo n.º 15
0
void CvFilter2D_Processor::prepareInterface() {
	h_onNewImage.setup(this, &CvFilter2D_Processor::onNewImage);
	registerHandler("onNewImage", &h_onNewImage);
	addDependency("onNewImage", &in_img);

	registerStream("in_img", &in_img);

	registerStream("out_img", &out_img);

}
Exemplo n.º 16
0
void Harris3DKeypoints::prepareInterface() {
	// Register data streams, events and event handlers HERE!
	registerStream("in_cloud", &in_cloud);
	registerStream("out_keypoints", &out_keypoints);

	h_compute.setup(boost::bind(&Harris3DKeypoints::compute, this));
	registerHandler("compute", &h_compute);
	addDependency("compute", &in_cloud);

}
Exemplo n.º 17
0
void PCDReader::prepareInterface() {
	// Register data streams, events and event handlers HERE!
	registerStream("out_cloud_xyz", &out_cloud_xyz);
	registerStream("out_cloud_xyzrgb", &out_cloud_xyzrgb);
	registerStream("out_cloud_xyzsift", &out_cloud_xyzsift);
	// Register handlers
	registerHandler("Read", boost::bind(&PCDReader::Read, this));
	//addDependency("Read", NULL);

}
void CorrespondenceEstimation::prepareInterface() {
	// Register src-trg related data streams.
	registerStream("in_src_cloud_xyzsift", &in_src_cloud_xyzsift);
	registerStream("in_trg_cloud_xyzsift", &in_trg_cloud_xyzsift);
	registerStream("out_correspondences", &out_src_trg_correspondences);
	registerStream("out_corest", &out_corest);

	// Register lum related data streams.
	registerStream("in_lum_xyzsift", &in_lum_xyzsift);
	registerStream("out_lum_xyzsift", &out_lum_xyzsift);

	// Register models-scene related data streams.
	registerStream("in_scene_cloud_xyzsift", &in_trg_cloud_xyzsift);
	registerStream("in_model_clouds_xyzsift", &in_model_clouds_xyzsift);
	registerStream("out_models_scene_correspondences", &out_models_scene_correspondences);

	// Register src-trg correspondence estimation handler.
	registerHandler("estimateCorrespondencesForPairOfClouds", boost::bind(&CorrespondenceEstimation::estimateCorrespondencesForPairOfClouds, this));
	addDependency("estimateCorrespondencesForPairOfClouds", &in_src_cloud_xyzsift);
	addDependency("estimateCorrespondencesForPairOfClouds", &in_trg_cloud_xyzsift);

	// Register lum-related correspondence estimation handler.
	registerHandler("estimateCorrespondencesForLUMGraph", boost::bind(&CorrespondenceEstimation::estimateCorrespondencesForLUMGraph, this));
	addDependency("estimateCorrespondencesForLUMGraph", &in_lum_xyzsift);

	// Register src-trg correspondence estimation handler.
	registerHandler("estimateCorrespondencesBeteenModelsAndScene", boost::bind(&CorrespondenceEstimation::estimateCorrespondencesBeteenModelsAndScene, this));
	addDependency("estimateCorrespondencesBeteenModelsAndScene", &in_trg_cloud_xyzsift);
	addDependency("estimateCorrespondencesBeteenModelsAndScene", &in_model_clouds_xyzsift);

}
void SIFTClusterExtraction::prepareInterface() {
	// Register data streams, events and event handlers HERE!
	registerStream("in_cloud_xyzsift", &in_cloud_xyzsift);
	registerStream("out_clusters", &out_clusters);
	registerStream("out_clusters_xyz", &out_clusters_xyz);
	// Register handlers
	h_extract.setup(boost::bind(&SIFTClusterExtraction::extract, this));
	registerHandler("extract", &h_extract);
	addDependency("extract", &in_cloud_xyzsift);

}
Exemplo n.º 20
0
void RANSACSphere::prepareInterface() {
	// Register data streams, events and event handlers HERE!
	registerStream("in_pcl", &in_pcl);
	registerStream("out_outliers", &out_outliers);
	registerStream("out_inliers", &out_inliers);
	// Register handlers
	h_ransac.setup(boost::bind(&RANSACSphere::ransac, this));
	registerHandler("ransac", &h_ransac);
	addDependency("ransac", &in_pcl);

}
Exemplo n.º 21
0
void HomographyPoints::prepareInterface() {
	// Register data streams, events and event handlers HERE!
	registerStream("in_corners", &in_corners);
	registerStream("in_points", &in_points);
	registerStream("out_points", &out_points);
	// Register handlers
	registerHandler("findHomography_proc", boost::bind(&HomographyPoints::findHomography_proc, this));
	addDependency("findHomography_proc", &in_corners);
	addDependency("findHomography_proc", &in_points);

}
Exemplo n.º 22
0
void SingleS2OMJsonReader::prepareInterface() {
	// Register data streams, events and event handlers HERE!
	registerStream("out_cloud_xyzrgb", &out_cloud_xyzrgb);
	registerStream("out_cloud_xyzsift", &out_cloud_xyzsift);
	registerStream("out_cloud_xyzshot", &out_cloud_xyzshot);
	registerStream("out_name", &out_name);
	// Register handlers
	h_loadModel.setup(boost::bind(&SingleS2OMJsonReader::loadModel, this));
	registerHandler("loadModel", &h_loadModel);
	addDependency("loadModel", NULL);

}
Exemplo n.º 23
0
void Drawcircles::prepareInterface() {
	// Register data streams, events and event handlers HERE!
	registerStream("in_img", &in_img);
	registerStream("circles", &circles);
	registerStream("out_img", &out_img);
	// Register handlers
	h_DrawCircles.setup(boost::bind(&Drawcircles::DrawCircles, this));
	registerHandler("DrawCircles", &h_DrawCircles);
	addDependency("DrawCircles", &in_img);
	addDependency("DrawCircles", &circles);

}
Exemplo n.º 24
0
void ClusterExtraction::prepareInterface() {
	// Register data streams, events and event handlers HERE!
registerStream("in_pcl", &in_pcl);
registerStream("out_indices", &out_indices);
registerStream("out_clusters", &out_clusters);
registerStream("out_the_biggest_cluster", &out_the_biggest_cluster);
	// Register handlers
	h_extract.setup(boost::bind(&ClusterExtraction::extract, this));
	registerHandler("extract", &h_extract);
	addDependency("extract", &in_pcl);

}
Exemplo n.º 25
0
void CvBRISK::prepareInterface() {
	// Register handlers with their dependencies.
    h_onNewImage.setup(this, &CvBRISK::onNewImage);
	registerHandler("onNewImage", &h_onNewImage);
	addDependency("onNewImage", &in_img);

	// objectImg and output data streams.
	registerStream("in_img", &in_img);
	registerStream("out_features", &out_features);
	registerStream("out_descriptors", &out_descriptors);

}
Exemplo n.º 26
0
void ReprojectionError::prepareInterface() {
	// Register data streams, events and event handlers HERE!
	registerStream("in_correspondences", &in_correspondences);
	registerStream("in_xyz_cloud_expected", &in_xyz_cloud_expected);
	registerStream("in_xyz_cloud_obtained", &in_xyz_cloud_obtained);
	registerStream("out_error", &out_error);

    registerHandler("compute", boost::bind(&ReprojectionError::compute, this));
    addDependency("compute", &in_correspondences);
    addDependency("compute", &in_xyz_cloud_expected);
    addDependency("compute", &in_xyz_cloud_obtained);
}
Exemplo n.º 27
0
void ImageWriter::prepareInterface() {
	CLOG(LTRACE) << name() << "::prepareInterface()";

	// Register handlers
	Base::EventHandler2 * hand;
	for (int i = 0; i < count; ++i) {
		char id = '0'+i;
		hand = new Base::EventHandler2;
		hand->setup(boost::bind(&ImageWriter::write_image_N, this, i));
		handlers.push_back(hand);
		registerHandler(std::string("write_image_")+id, hand);

		Base::DataStreamIn<cv::Mat, Base::DataStreamBuffer::Newest> * stream = new Base::DataStreamIn<cv::Mat, Base::DataStreamBuffer::Newest>;
		in_img.push_back(stream);
		registerStream( std::string("in_img")+id, (Base::DataStreamInterface*)(in_img[i]));
		addDependency(std::string("write_image_")+id, stream);

		// Add n flags for manual trigger.
		bool tmp_flag = false;
		save_flags.push_back(tmp_flag);
	}


	// register aliases for first handler and streams
	registerHandler("write_image", handlers[0]);
	registerStream("in_img", in_img[0]);

	counts.resize(count, 0);

	std::string t = base_name;
	boost::split(base_names, t, boost::is_any_of(","));
	if ( (base_names.size() == 1) && (count > 1) ) base_names.clear();
	for (int i = base_names.size(); i < count; ++i) {
		char id = '0' + i;
		base_names.push_back(std::string(base_name) + id);
	}

	std::string f = format;
	boost::split(formats, f, boost::is_any_of(","));
	if ( (formats.size() == 1) && (count > 1) ) formats.clear();
	for (int i = formats.size(); i < count; ++i) {
		formats.push_back(format);
	}

    // Register handlers - next image, can be triggered manually (from GUI) or by new data present in_load_next_image_trigger dataport.
    // 1st version - manually.
    registerHandler("SaveImage", boost::bind(&ImageWriter::onSaveButtonPressed, this));

    // 2nd version - external trigger.
    registerHandler("onSaveTriggered", boost::bind(&ImageWriter::onSaveTriggered, this));
    addDependency("onSaveTriggered", &in_trigger);

}
Exemplo n.º 28
0
void Sum::prepareInterface() {
	// Register handlers with their dependencies.
	h_onNewImage.setup(this, &Sum::onNewImage);
	registerHandler("onNewImage", &h_onNewImage);
	addDependency("onNewImage", &in_img1);
	addDependency("onNewImage", &in_img2);

	// Input and output data streams.
	registerStream("in_img1", &in_img1);
	registerStream("in_img2", &in_img2);
	registerStream("out_img", &out_img);
}
Exemplo n.º 29
0
void CvColorConv_Processor::prepareInterface() {
	CLOG(LTRACE) << "CvColorConv_Processor::prepareInterface\n";

	h_onNewImage.setup(this, &CvColorConv_Processor::onNewImage);
	registerHandler("onNewImage", &h_onNewImage);

	registerStream("in_img", &in_img);

	registerStream("out_img", &out_img);

	addDependency("onNewImage", &in_img);
}
Exemplo n.º 30
0
void ApplyCornerMask::prepareInterface() {
	// Register data streams, events and event handlers HERE!
	registerStream("in_corners", &in_corners);
	registerStream("in_img", &in_img);
	registerStream("out_img", &out_img);
	// Register handlers
	h_apply_mask.setup(boost::bind(&ApplyCornerMask::apply_mask, this));
	registerHandler("apply_mask", &h_apply_mask);
	addDependency("apply_mask", &in_corners);
	addDependency("apply_mask", &in_img);

}