123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129 |
- #include "piv-nodes.h"
- #include "piv-ufo-base.h"
- struct piv_nodes *
- piv_nodes_copy(struct piv_nodes *src)
- {
- GError *error = NULL;
- struct piv_nodes *res = g_malloc (sizeof (struct piv_nodes));
- PIV_COPY_TASK_NODE (res->denoise, src->denoise, &error);
- PIV_COPY_TASK_NODE (res->contrast, src->contrast, &error);
- PIV_COPY_TASK_NODE (res->broadcast_contrast, src->broadcast_contrast, &error);
- PIV_COPY_TASK_NODE (res->broadcast_reader, src->broadcast_reader, &error);
- PIV_COPY_TASK_NODE (res->copy_replicater, src->copy_replicater, &error);
- PIV_COPY_TASK_NODE (res->replicater, src->replicater, &error);
- PIV_COPY_TASK_NODE (res->replicate_reader, src->replicate_reader, &error);
- PIV_COPY_TASK_NODE (res->duplicater, src->duplicater, &error);
- PIV_COPY_TASK_NODE (res->ring_pattern, src->ring_pattern, &error);
- PIV_COPY_TASK_NODE (res->ordfilt, src->ordfilt, &error);
- PIV_COPY_TASK_NODE (res->filter_particle, src->filter_particle, &error);
- PIV_COPY_TASK_NODE (res->concatenate_result, src->concatenate_result, &error);
- PIV_COPY_TASK_NODE (res->get_dup_circ, src->get_dup_circ, &error);
- PIV_COPY_TASK_NODE (res->remove_circle, src->remove_circle, &error);
- PIV_COPY_TASK_NODE (res->multi_search, src->multi_search, &error);
- PIV_COPY_TASK_NODE (res->dump_ring, src->dump_ring, &error);
- PIV_COPY_TASK_NODE (res->fftmult, src->fftmult, &error);
- PIV_COPY_TASK_NODE (res->reduce, src->reduce, &error);
- PIV_COPY_TASK_NODE (res->writer, src->writer, &error);
- PIV_COPY_TASK_NODE (res->ringwriter, src->ringwriter, &error);
- PIV_COPY_TASK_NODE (res->fft, src->fft, &error);
- PIV_COPY_TASK_NODE (res->ringfft, src->ringfft, &error);
- PIV_COPY_TASK_NODE (res->loop_ringfft, src->loop_ringfft, &error);
- PIV_COPY_TASK_NODE (res->ringifft, src->ringifft, &error);
- PIV_COPY_TASK_NODE (res->ifft, src->ifft, &error);
- if (error)
- g_print("Error %s\n", error->message);
- return res;
- }
- void
- piv_nodes_init(struct piv_nodes *piv, struct piv_ufo_base *base)
- {
- GError *error = base->error;
- UfoPluginManager *manager = base->manager;
- piv->broadcast_reader = UFO_TASK_NODE (ufo_copy_task_new ());
- piv->copy_replicater = UFO_TASK_NODE (ufo_copy_task_new ());
- piv->broadcast_contrast = UFO_TASK_NODE (ufo_copy_task_new ());
- piv->replicater = ufo_plugin_manager_get_task (manager, "buffer", &error);
- piv->replicate_reader = ufo_plugin_manager_get_task (manager, "buffer", &error);
- piv->duplicater = ufo_plugin_manager_get_task (manager, "buffer", &error);
- piv->loop_ringfft = ufo_plugin_manager_get_task (manager, "buffer", &error);
- piv->denoise = ufo_plugin_manager_get_task (manager, "denoise", &error);
- piv->ring_pattern = ufo_plugin_manager_get_task (manager, "ring_pattern", &error);
- piv->reduce = ufo_plugin_manager_get_task (manager, "reduce", &error);
- piv->contrast = ufo_plugin_manager_get_task (manager, "contrast", &error);
- piv->filter_particle = ufo_plugin_manager_get_task (manager, "filter_particle", &error);
- piv->concatenate_result = ufo_plugin_manager_get_task (manager, "concatenate_result", &error);
- piv->get_dup_circ = ufo_plugin_manager_get_task (manager, "get_dup_circ", &error);
- piv->remove_circle = ufo_plugin_manager_get_task (manager, "remove_circle", &error);
- piv->multi_search = ufo_plugin_manager_get_task (manager, "multi_search", &error);
- piv->dump_ring = ufo_plugin_manager_get_task (manager, "dump_ring", &error);
- piv->fftmult = ufo_plugin_manager_get_task (manager, "fftmult", &error);
- piv->ordfilt = ufo_plugin_manager_get_task (manager, "ordfilt", &error);
- piv->writer = ufo_plugin_manager_get_task (manager, "write", &error);
- piv->ringwriter = ufo_plugin_manager_get_task (manager, "ringwriter", &error);
- piv->fft = ufo_plugin_manager_get_task (manager, "fft", &error);
- piv->ringfft = ufo_plugin_manager_get_task (manager, "fft", &error);
- piv->ringifft = ufo_plugin_manager_get_task (manager, "ifft", &error);
- piv->ifft = ufo_plugin_manager_get_task (manager, "ifft", &error);
- }
- void piv_nodes_unref(struct piv_nodes *piv)
- {
- g_object_unref (piv->broadcast_contrast);
- g_object_unref (piv->broadcast_reader);
- g_object_unref (piv->denoise);
- g_object_unref (piv->contrast);
- g_object_unref (piv->ring_pattern);
- g_object_unref (piv->ordfilt);
- g_object_unref (piv->filter_particle);
- g_object_unref (piv->concatenate_result);
- g_object_unref (piv->get_dup_circ);
- g_object_unref (piv->remove_circle);
- g_object_unref (piv->multi_search);
- g_object_unref (piv->dump_ring);
- g_object_unref (piv->fftmult);
- g_object_unref (piv->writer);
- g_object_unref (piv->ringwriter);
- g_object_unref (piv->fft);
- g_object_unref (piv->ringfft);
- g_object_unref (piv->loop_ringfft);
- g_object_unref (piv->ringifft);
- g_object_unref (piv->ifft);
- g_object_unref (piv->reduce);
- }
- void piv_nodes_set_gpu(struct piv_nodes *piv, UfoNode *proc_node)
- {
- piv->proc_node = proc_node;
- ufo_task_node_set_proc_node (piv->broadcast_reader, proc_node);
- ufo_task_node_set_proc_node (piv->broadcast_reader, proc_node);
- ufo_task_node_set_proc_node (piv->copy_replicater , proc_node);
- ufo_task_node_set_proc_node (piv->broadcast_contrast , proc_node);
- ufo_task_node_set_proc_node (piv->replicater , proc_node);
- ufo_task_node_set_proc_node (piv->replicate_reader, proc_node);
- ufo_task_node_set_proc_node (piv->duplicater , proc_node);
- ufo_task_node_set_proc_node (piv->loop_ringfft , proc_node);
- ufo_task_node_set_proc_node (piv->denoise , proc_node);
- ufo_task_node_set_proc_node (piv->ring_pattern , proc_node);
- ufo_task_node_set_proc_node (piv->reduce , proc_node);
- ufo_task_node_set_proc_node (piv->contrast , proc_node);
- ufo_task_node_set_proc_node (piv->filter_particle , proc_node);
- ufo_task_node_set_proc_node (piv->concatenate_result, proc_node);
- ufo_task_node_set_proc_node (piv->get_dup_circ , proc_node);
- ufo_task_node_set_proc_node (piv->remove_circle , proc_node);
- ufo_task_node_set_proc_node (piv->multi_search , proc_node);
- ufo_task_node_set_proc_node (piv->dump_ring , proc_node);
- ufo_task_node_set_proc_node (piv->fftmult , proc_node);
- ufo_task_node_set_proc_node (piv->ordfilt , proc_node);
- ufo_task_node_set_proc_node (piv->writer , proc_node);
- ufo_task_node_set_proc_node (piv->ringwriter , proc_node);
- ufo_task_node_set_proc_node (piv->fft , proc_node);
- ufo_task_node_set_proc_node (piv->ringfft , proc_node);
- ufo_task_node_set_proc_node (piv->ringifft , proc_node);
- ufo_task_node_set_proc_node (piv->ifft , proc_node);
- }
|