Example #1
0
int LoadCarbonXAE() {
	PyObject *aeModule, *aeAPIObj;
	CarbonXAE_API *aeAPI;
	
	if ((aeModule = PyImport_ImportModule("CarbonX.AE")) == NULL) goto failed;
	if ((aeAPIObj = PyObject_GetAttrString(aeModule, "aeAPI")) == NULL) goto failed;
	if ((aeAPI = (CarbonXAE_API *)PyCObject_AsVoidPtr(aeAPIObj)) == NULL) goto failed;
	
	Ptr_AEDescX_New = aeAPI->Ptr_AEDescX_New;
	Ptr_AEDescX_NewBorrowed = aeAPI->Ptr_AEDescX_NewBorrowed;
	Ptr_AEDescX_Convert = aeAPI->Ptr_AEDescX_Convert;
	
	if (!Ptr_AEDescX_New) goto failed;
	shouldLoad = 0; 
	return 1;
failed:
	PyErr_SetString(PyExc_ImportError, "Couldn't load module: CarbonX.AE");
	return 0;
}
Example #2
0
static PyObject* pysplicing_simulate_reads(PyObject *self, PyObject *args) {
  PyObject *gff, *expression;
  int gene, noreads, readLength;
  splicing_vector_t myexpression;
  splicing_gff_t *mygff;
  splicing_vector_int_t isoform, position;
  splicing_strvector_t cigar;
  PyObject *risoform, *rposition, *rcigar;
  
  if (!PyArg_ParseTuple(args, "OiOii", &gff, &gene, &expression, &noreads,
			&readLength)) { return NULL; }

  mygff=PyCObject_AsVoidPtr(gff);
  if (pysplicing_to_vector(expression, &myexpression)) { return NULL; }
  SPLICING_FINALLY(splicing_vector_destroy, &myexpression);
  
  SPLICING_PYCHECK(splicing_strvector_init(&cigar, 0));
  SPLICING_FINALLY(splicing_strvector_destroy, &cigar);
  SPLICING_PYCHECK(splicing_vector_int_init(&position, 0));
  SPLICING_FINALLY(splicing_vector_int_destroy, &position);
  SPLICING_PYCHECK(splicing_vector_int_init(&isoform, 0));
  SPLICING_FINALLY(splicing_vector_int_destroy, &isoform);
  
  SPLICING_PYCHECK(splicing_simulate_reads(mygff, gene, &myexpression, 
					   noreads, readLength,
					   &isoform, &position, &cigar));
  
  risoform = pysplicing_from_vector_int(&isoform);
  splicing_vector_int_destroy(&isoform);
  SPLICING_FINALLY_CLEAN(1);
  rposition = pysplicing_from_vector_int(&position);
  splicing_vector_int_destroy(&position);
  SPLICING_FINALLY_CLEAN(1);
  rcigar = pysplicing_from_strvector(&cigar);
  splicing_strvector_destroy(&cigar);
  SPLICING_FINALLY_CLEAN(1);
  
  splicing_vector_destroy(&myexpression);
  SPLICING_FINALLY_CLEAN(1);
  
  return Py_BuildValue("OOO", risoform, rposition, rcigar);
}
Example #3
0
static PyObject *
_xson_reader_simple (PyObject *self, PyObject *args, xson_reader_simple_t fn)
{
    PyObject *reader_obj;
    xson_reader_t *reader;
    xson_error_t err;
    if (!PyArg_ParseTuple (args, "O", &reader_obj)) {
        return NULL;
    }
    reader = PyCObject_AsVoidPtr (reader_obj);
    if (reader == NULL) {
        return NULL;
    }
    if (fn (reader, &err) != XSON_STATUS_OK) {
        PyErr_SetString (PyExc_TypeError, xson_error_message (&err));
        return NULL;
    }
    Py_INCREF (Py_None);
    return Py_None;
}
Example #4
0
/**
 * Get the q-value of a given bin
 */
PyObject * get_q(PyObject *, PyObject *args) {
	PyObject *smear_obj;
	int bin;

	if (!PyArg_ParseTuple(args, "Oi", &smear_obj, &bin)) return NULL;

	// Set the array pointers
	void *temp = PyCObject_AsVoidPtr(smear_obj);
	BaseSmearer* s = static_cast<BaseSmearer *>(temp);

	if(s->get_nbins()<=0 || s->get_nbins()<=bin) {
		return NULL;
	}

	double q, q_min, q_max;
	if (s->get_bin_range(bin, &q, &q_min, &q_max)<0) {
		return NULL;
	}
	return Py_BuildValue("d", q);
}
Example #5
0
static PyObject*
pydc_find(PyObject* self, PyObject* args)
{
  PyObject* pcobj;
  const char* symbol;
  void* libhandle;
  void* funcptr;

  if ( !PyArg_ParseTuple(args,"Os", &pcobj, &symbol) ) return PyErr_Format(PyExc_RuntimeError, "argument mismatch");
  
  libhandle = PyCObject_AsVoidPtr(pcobj);
  
  if (!libhandle) return PyErr_Format(PyExc_RuntimeError, "libhandle is null");

  funcptr = dlFindSymbol(libhandle, symbol);
  if (!funcptr) 
    return PyErr_Format(PyExc_RuntimeError, "symbol '%s' not found", symbol);

  return PyCObject_FromVoidPtr(funcptr, NULL);
}
static PyObject* TextParser_read(PyObject* self, PyObject* args)
{
    // 引数の解析
    const char* filename;
    PyObject*   handle;
    if(!PyArg_ParseTuple(args, "Os", &handle, &filename))
    {
        return NULL;
    }
    TextParser* tp = static_cast<TextParser*>(PyCObject_AsVoidPtr(handle));

    int         ret = tp->read(filename);
    if(ret != 0)
    {
        std::cerr<<"MetaData read failed!! ("<<filename<<")"<<std::endl;
    }

    //戻り値を設定
    return Py_BuildValue("i", ret);
}
Example #7
0
PyObject* detect_and_extract(PyObject* p_descriptor_extractor, PyObject *p_img,
        PyObject *p_thresh, PyObject *p_octaves) {
    cv::Mat img = get_gray_img(p_img);
    std::vector<cv::KeyPoint> keypoints = detect(img, p_thresh, p_octaves);

    cv::Mat descriptors;
    brisk::BriskDescriptorExtractor* descriptor_extractor =
            static_cast<brisk::BriskDescriptorExtractor*>(PyCObject_AsVoidPtr(p_descriptor_extractor));
    descriptor_extractor->compute(img, keypoints, descriptors);

    NDArrayConverter cvt;
    PyObject* ret = PyList_New(2);
    PyObject* ret_keypoints = keypoints_ctopy(keypoints);
    PyList_SetItem(ret, 0, ret_keypoints);
    PyList_SetItem(ret, 1, cvt.toNDArray(descriptors));
    // TODO: decrement reference doesn't work
    // Py_DECREF(ret_keypoints);

    return ret;
}
static PyObject* TextParser_splitList(PyObject* self, PyObject* args)
{
    PyObject*   handle;
    const char* value;
    if(!PyArg_ParseTuple(args, "Os", &handle, &value))
    {
        return NULL;
    }
    TextParser*         tp = static_cast<TextParser*>(PyCObject_AsVoidPtr(handle));
    std::vector<double> list;
    TextParserSortOrder order = TP_SORT_NONE;
    int                 ret     = tp->splitList(value, list, order);
    PyObject*           py_list = PyList_New(list.size());
    int                 i       = 0;
    for(std::vector<double>::iterator it = list.begin(); it != list.end(); ++it)
    {
        PyList_SetItem(py_list, i++, Py_BuildValue("d", *it));
    }
    return Py_BuildValue("iO", ret, py_list);
}
Example #9
0
PyObject * pyCitcom_ic_init_tracer_composition(PyObject *self, PyObject *args)
{
    PyObject *obj;
    struct All_variables* E;

    if (!PyArg_ParseTuple(args, "O:init_tracer_composition", &obj))
        return NULL;

    E = (struct All_variables*)(PyCObject_AsVoidPtr(obj));

    if (E->control.tracer==1) {
        initialize_tracers(E);

        if (E->composition.on)
            init_composition(E);
    }

    Py_INCREF(Py_None);
    return Py_None;
}
static PyObject* TextParser_getLabels(PyObject* self, PyObject* args)
{
    PyObject* handle;
    int oswitch=0;
    if(!PyArg_ParseTuple(args, "O|i", &handle, &oswitch))
    {
        return NULL;
    }
    TextParser*              tp = static_cast<TextParser*>(PyCObject_AsVoidPtr(handle));

    std::vector<std::string> labels;
    int                      ret       = tp->getLabels(labels, oswitch);
    PyObject*                py_labels = PyList_New(labels.size());
    int                      i         = 0;
    for(std::vector<std::string>::iterator it = labels.begin(); it != labels.end(); ++it)
    {
        PyList_SetItem(py_labels, i++, Py_BuildValue("s", (*it).c_str()));
    }
    return Py_BuildValue("iO", ret, py_labels);
}
static PyObject* TextParser_expandRange(PyObject* self, PyObject* args)
{
    PyObject*   handle;
    const char* value;
    if(!PyArg_ParseTuple(args, "Os", &handle, &value))
    {
        return NULL;
    }
    TextParser*         tp = static_cast<TextParser*>(PyCObject_AsVoidPtr(handle));

    std::vector<double> expanded;
    int                 ret         = tp->expandRange(value, expanded);
    PyObject*           py_expanded = PyList_New(expanded.size());
    int                 i           = 0;
    for(std::vector<double>::iterator it = expanded.begin(); it != expanded.end(); ++it)
    {
        PyList_SetItem(py_expanded, i++, Py_BuildValue("d", *it));
    }
    return Py_BuildValue("iO", ret, py_expanded);
}
Example #12
0
  int pythonTrace(PyObject* mobj, PyFrameObject *mframe, int mwhat, PyObject *marg) {
    // DBG("Python trace\n");
    IvrPython* pIvrPython = 0; //getIvrPythonPointer();
    if (mobj != NULL){
      if (PyCObject_Check(mobj)) {
	  pIvrPython = (IvrPython*)PyCObject_AsVoidPtr(mobj);
	  //	  Py_DECREF(mobj);
      }
    }

    if (pIvrPython) {
      AmEventQueue* evq = pIvrPython->getScriptEventQueue();
      if (evq)
	evq->processEvents();
    } else {
      ERROR("IvrPython pointer not found in Trace!\n");
      return 1;
    }
    return 0; 
  }
Example #13
0
static PyObject *
pango_LayoutPath(PyObject *self, PyObject *args) {

	PycairoContext *context;
	cairo_t *ctx;
	void *LayoutObj;
	PangoLayout *layout;

	if (!PyArg_ParseTuple(args, "OO", &context, &LayoutObj)) {
		return NULL;
	}

	ctx = context->ctx;
	layout = PyCObject_AsVoidPtr(LayoutObj);

	pango_cairo_layout_path(ctx, layout);

	Py_INCREF(Py_None);
	return Py_None;
}
Example #14
0
static PyObject *
im_GetImageBlob(PyObject *self, PyObject *args) {

	void *magick_pointer;
	MagickWand *magick_wand;
	unsigned char *blob;
	size_t length;
	PyObject *ret;

	if (!PyArg_ParseTuple(args, "O", &magick_pointer)){
		return Py_BuildValue("i", 0);
	}

	magick_wand = (MagickWand *) PyCObject_AsVoidPtr(magick_pointer);
	blob = MagickGetImagesBlob(magick_wand, &length);
	ret = Py_BuildValue("s#", blob, length);
	MagickRelinquishMemory(blob);

	return ret;
}
static PyObject *
image_save_footer(PyObject *self,PyObject *args)
{
    PyObject *pyimwriter;
    if(!PyArg_ParseTuple(args,"O",&pyimwriter))
    {
	return NULL;
    }

    ImageWriter *i = (ImageWriter *)PyCObject_AsVoidPtr(pyimwriter);

    if(!i || !i->save_footer())
    {
	PyErr_SetString(PyExc_IOError, "Couldn't save image footer");
	return NULL;
    }
    
    Py_INCREF(Py_None);
    return Py_None;
}
PyObject* Context_Python_Step( PyObject* self, PyObject* args ) {
	PyObject*	pyContext;
	Context*	context;
	double		dt;
	
	/* Obtain arguements */
	if( !PyArg_ParseTuple( args, "Od:", &pyContext, &dt ) ) {
		return NULL;
	}
	context = (Context*)( PyCObject_AsVoidPtr( pyContext ) );
	
	/* Run function */
	context->currentTime += dt;
	AbstractContext_Step( context, dt );
	context->timeStep++;	
	
	/* Return */
	Py_INCREF( Py_None );
	return Py_None;
}
static PyObject *
pf_init(PyObject *self, PyObject *args)
{
    PyObject *pyobj, *pyarray, *py_posparams;
    double period_tolerance;
    struct s_param *params;
    struct pfHandle *pfh;
    double pos_params[N_PARAMS];

    if(!PyArg_ParseTuple(
	   args,"OdOO",&pyobj,&period_tolerance,&py_posparams, &pyarray))
    {
	return NULL;
    }
    if(!PyCObject_Check(pyobj))
    {
	PyErr_SetString(PyExc_ValueError,"Not a valid handle");
	return NULL;
    }

    pfh = (struct pfHandle *)PyCObject_AsVoidPtr(pyobj);

    if(!parse_posparams(py_posparams, pos_params))
    {
	return NULL;
    }

    int len=0;
    params = parse_params(pyarray,&len);
    if(!params)
    {
	return NULL;
    }

    /*finally all args are assembled */
    pfh->pfo->vtbl->init(pfh->pfo,period_tolerance,pos_params,params,len);
    free(params);

    Py_INCREF(Py_None);
    return Py_None;
}
Example #18
0
static PyObject *
im_WriteImage(PyObject *self, PyObject *args) {

	void *magick_pointer;
	MagickWand *magick_wand;
	char *filepath = NULL;
	MagickBooleanType status;

	if (!PyArg_ParseTuple(args, "Os", &magick_pointer, &filepath)){
		return Py_BuildValue("i", 0);
	}

	magick_wand = (MagickWand *) PyCObject_AsVoidPtr(magick_pointer);
	status = MagickWriteImages(magick_wand, filepath, MagickTrue);

	if (status == MagickFalse){
		return Py_BuildValue("i", 0);
	}

	return Py_BuildValue("i", 1);
}
Example #19
0
static PyObject* pysplicing_gff_noiso(PyObject *self, PyObject *args) {
  
  PyObject *gff;
  splicing_gff_t *mygff;
  splicing_vector_int_t noiso;
  PyObject *rnoiso;
  
  if (!PyArg_ParseTuple(args, "O", &gff)) { return NULL; }
  
  mygff=PyCObject_AsVoidPtr(gff);
  SPLICING_PYCHECK(splicing_vector_int_init(&noiso, 0));
  SPLICING_FINALLY(splicing_vector_int_destroy, &noiso);

  SPLICING_PYCHECK(splicing_gff_noiso(mygff, &noiso));
  
  rnoiso = pysplicing_from_vector_int(&noiso);
  splicing_vector_int_destroy(&noiso);
  SPLICING_FINALLY_CLEAN(1);

  return Py_BuildValue("O", rnoiso);
}  
Example #20
0
static PyObject *
im_NextImage(PyObject *self, PyObject *args) {

	void *magick_pointer;
	MagickWand *magick_wand;
	MagickBooleanType status;

	if (!PyArg_ParseTuple(args, "O", &magick_pointer)){
		Py_INCREF(Py_None);
		return Py_None;
	}

	magick_wand = (MagickWand *) PyCObject_AsVoidPtr(magick_pointer);
	status = MagickNextImage(magick_wand);

	if (status == MagickFalse){
		return Py_BuildValue("i", 0);
	}

	return Py_BuildValue("i", 1);
}
Example #21
0
static PyObject *
im_SetImageFormat(PyObject *self, PyObject *args) {

	void *magick_pointer;
	MagickWand *magick_wand;
	char *format = NULL;
	MagickBooleanType status;

	if (!PyArg_ParseTuple(args, "Os", &magick_pointer, &format)){
		return Py_BuildValue("i", 0);
	}

	magick_wand = (MagickWand *) PyCObject_AsVoidPtr(magick_pointer);
	status = MagickSetImageFormat(magick_wand, format);

	if (status == MagickFalse){
		return Py_BuildValue("i", 0);
	}

	return Py_BuildValue("i", 1);
}
PyObject* Dictionary_Python_LoadFromFile( PyObject* self, PyObject* args ) {
	PyObject*	pyDictionary;
	Dictionary*	dictionary;
	XML_IO_Handler*	ioHandler;
	char*		filename;
	
	/* Obtain arguements */
	if( !PyArg_ParseTuple( args, "Os:", &pyDictionary, &filename ) ) {
		return NULL;
	}
	dictionary = (Dictionary*)( PyCObject_AsVoidPtr( pyDictionary ) );
	
	/* Run function */
	ioHandler = XML_IO_Handler_New();
	IO_Handler_ReadAllFromFile( ioHandler, filename, dictionary );
	Stg_Class_Delete( ioHandler );
	
	/* Return */
	Py_INCREF( Py_None );
	return Py_None;
}
PyObject* Dictionary_Python_AddStringToList( PyObject* self, PyObject* args ) {
	PyObject*		pyDictionary;
	Dictionary*		dictionary;
	char*			name;
	char*			value;
	Dictionary_Entry_Value*	list;
	
	/* Obtain arguements */
	if( !PyArg_ParseTuple( args, "Oss:", &pyDictionary, &name, &value ) ) {
		return NULL;
	}
	dictionary = (Dictionary*)( PyCObject_AsVoidPtr( pyDictionary ) );
	
	/* Run function */
	list = Dictionary_Get( dictionary, name );
	Dictionary_Entry_Value_AddElement( list, Dictionary_Entry_Value_FromString( value ) );
	
	/* Return */
	Py_INCREF( Py_None );
	return Py_None;
}
Example #24
0
static PyObject *
calcmd_CalCmdGetConciseDateTimeRange(PyObject *self, PyObject *args)
{
    CalCmdCommand *cmd;
    PyObject *cmdObj;
    char buf[128];

    if (!PyArg_ParseTuple(args, "O", &cmdObj)) {
        return NULL;
    }

    if (cmdObj == Py_None) {
        PyErr_SetString(PyExc_ValueError, "calcmd object is None");
        return NULL;
    }

    cmd = PyCObject_AsVoidPtr(cmdObj);

    CalCmdPrintConciseDateTimeRange(cmd, buf, sizeof(buf));
    return Py_BuildValue("s", buf);
}
Example #25
0
static PyObject *
calcmd_CalCmdGetType(PyObject *self, PyObject *args)
{
    CalCmdCommand *cmd;
    PyObject *cmdObj;
    int type;

    if (!PyArg_ParseTuple(args, "O", &cmdObj)) {
        return NULL;
    }

    if (cmdObj == Py_None) {
        PyErr_SetString(PyExc_ValueError, "calcmd object is None");
        return NULL;
    }

    cmd = PyCObject_AsVoidPtr(cmdObj);
    type = CalCmdGetType(cmd);

    return Py_BuildValue("i", type);
}
Example #26
0
static PyObject *py_parse_options(PyObject *dummy, PyObject *args) {
  IO_INFO *io;
  PyObject *pyio;
  char *opts;

  // retrieve args
  if(!PyArg_ParseTuple(args, "Os", &pyio, &opts)) {
    return NULL;
  }

  io=(IO_INFO *)PyCObject_AsVoidPtr(pyio);

  TRY {
    io_parse_options(io,opts);
  } EXCEPT(E_ANY) {
    return PyErr_Format(map_exceptions_for_python(__EXCEPT__), "%s", except_str);
  };

  Py_INCREF(Py_None);
  return Py_None;
};
Example #27
0
static PyObject *
_xson_reader_float (PyObject *self, PyObject *args)
{
    PyObject *reader_obj;
    xson_reader_t *reader;
    xson_error_t err;
    double value;

    if (!PyArg_ParseTuple (args, "O", &reader_obj)) {
        return NULL;
    }
    reader = PyCObject_AsVoidPtr (reader_obj);
    if (reader == NULL) {
        return NULL;
    }
    if (xson_reader_float (reader, &value, &err) != XSON_STATUS_OK) {
        PyErr_SetString (PyExc_TypeError, xson_error_message (&err));
        return NULL;
    }
    return PyFloat_FromDouble(value);
}
Example #28
0
File: matrix.c Project: jpzm/clann
PyObject*
size(PyObject *self, PyObject *args)
{
    /**
     * Convert input
     */
    PyObject *m = NULL;

    if (!PyArg_ParseTuple(args, "O", &m))
        return NULL;

    /**
     * Call the function
     */
    clann_matrix_type *a = (clann_matrix_type *) PyCObject_AsVoidPtr(m);

    /**
     * Convert output
     */
    return Py_BuildValue("II", a->rows, a->cols);
}
Example #29
0
static PyObject * bluefish_curdoc_replace(PyObject *self, PyObject *args) {
	int ok;
	PyObject *PyBfwin;
	Tbfwin *bfwin;
	long start,end;
	const char *string;
	ok = PyArg_ParseTuple(args, "lls", &start, &end, &string);
	if (ok) {
		PyBfwin = GetObjectFromBluefishModule("bfwin");
		if (!PyBfwin) {
			DEBUG_MSG("bluefish_curdoc_replace, noPyBfwin !!\n");
			return NULL;
		}
		bfwin = PyCObject_AsVoidPtr(PyBfwin);
		DEBUG_MSG("bluefish_curdoc_replace, bfwin=%p\n",bfwin);
		if (bfwin->current_document) {
			doc_replace_text(bfwin->current_document,string,start,end);
		}
	}
	return Py_BuildValue("");
}
static PyObject *
image_clear(PyObject *self, PyObject *args)
{
    PyObject *pyim;

    if(!PyArg_ParseTuple(args,"O",&pyim))
    { 
	return NULL;
    }

    IImage *i = (IImage *)PyCObject_AsVoidPtr(pyim);
    if(NULL == i)
    {
	return NULL;
    }

    i->clear();

    Py_INCREF(Py_None);
    return Py_None;
}