[SCM] Packaging for cctbx branch, master, updated. upstream/2012.05.08.2305-20-g8de5d0c
Radostan Riedel
raybuntu at googlemail.com
Tue Jul 17 23:29:04 UTC 2012
The following commit has been merged in the master branch:
commit 8de5d0c0f26bc842e5b36296a32474e99164efd8
Author: Radostan Riedel <raybuntu at googlemail.com>
Date: Tue Jul 17 19:05:53 2012 +0200
Modify adding-setup_py.patch and rework debian files
diff --git a/debian/control b/debian/control
index 6d70bac..fcc200d 100644
--- a/debian/control
+++ b/debian/control
@@ -24,3 +24,51 @@ Description: Python Toolbox for crystallography
Python Modules for general crystallographic applications, useful for both
small-molecule and macro-molecular crystallography and modules for general
scientific calculations.
+
+Package: libcctbx0
+Architecture: any
+Depends: ${misc:Depends}, ${shlibs:Depends}
+Description: <>
+ <>
+
+Package: libiotbx0
+Architecture: any
+Depends: ${misc:Depends}, ${shlibs:Depends}
+Description: <>
+ <>
+
+Package: libmmtbx0
+Architecture: any
+Depends: ${misc:Depends}, ${shlibs:Depends}
+Description: <>
+ <>
+
+Package: libomptbx0
+Architecture: any
+Depends: ${misc:Depends}, ${shlibs:Depends}
+Description: <>
+ <>
+
+Package: librstbx0
+Architecture: any
+Depends: ${misc:Depends}, ${shlibs:Depends}
+Description: <>
+ <>
+
+Package: libscitbx0
+Architecture: any
+Depends: ${misc:Depends}, ${shlibs:Depends}
+Description: <>
+ <>
+
+Package: libsmtbx0
+Architecture: any
+Depends: ${misc:Depends}, ${shlibs:Depends}
+Description: <>
+ <>
+
+Package: libspotfinder0
+Architecture: any
+Depends: ${misc:Depends}, ${shlibs:Depends}
+Description: <>
+ <>
diff --git a/debian/libcctbx0.install b/debian/libcctbx0.install
new file mode 100644
index 0000000..33501c9
--- /dev/null
+++ b/debian/libcctbx0.install
@@ -0,0 +1 @@
+debian/tmp/usr/lib/libcctbx*.so.*
diff --git a/debian/libiotbx0.install b/debian/libiotbx0.install
new file mode 100644
index 0000000..6395370
--- /dev/null
+++ b/debian/libiotbx0.install
@@ -0,0 +1 @@
+debian/tmp/usr/lib/libiotbx*.so.*
diff --git a/debian/libmmtbx0.install b/debian/libmmtbx0.install
new file mode 100644
index 0000000..4c9fb17
--- /dev/null
+++ b/debian/libmmtbx0.install
@@ -0,0 +1 @@
+debian/tmp/usr/lib/libmmtbx*.so.*
diff --git a/debian/libomptbx0.install b/debian/libomptbx0.install
new file mode 100644
index 0000000..cd41e15
--- /dev/null
+++ b/debian/libomptbx0.install
@@ -0,0 +1 @@
+debian/tmp/usr/lib/libomptbx*.so.*
diff --git a/debian/librstbx0.install b/debian/librstbx0.install
new file mode 100644
index 0000000..7ddaf2e
--- /dev/null
+++ b/debian/librstbx0.install
@@ -0,0 +1 @@
+debian/tmp/usr/lib/librstbx*.so.*
diff --git a/debian/libscitbx0.install b/debian/libscitbx0.install
new file mode 100644
index 0000000..db184b4
--- /dev/null
+++ b/debian/libscitbx0.install
@@ -0,0 +1 @@
+debian/tmp/usr/lib/libscitbx*.so.*
diff --git a/debian/libsmtbx0.install b/debian/libsmtbx0.install
new file mode 100644
index 0000000..9a2f209
--- /dev/null
+++ b/debian/libsmtbx0.install
@@ -0,0 +1 @@
+debian/tmp/usr/lib/libsmtbx*.so.*
diff --git a/debian/libspotfinder0.install b/debian/libspotfinder0.install
new file mode 100644
index 0000000..842fe13
--- /dev/null
+++ b/debian/libspotfinder0.install
@@ -0,0 +1 @@
+debian/tmp/usr/lib/libspotfinder*.so.*
diff --git a/debian/patches/0004-adding-setup_py.patch b/debian/patches/0004-adding-setup_py.patch
index a89b8f8..4f36189 100644
--- a/debian/patches/0004-adding-setup_py.patch
+++ b/debian/patches/0004-adding-setup_py.patch
@@ -3,21 +3,7944 @@ Date: Sat, 30 Jun 2012 16:03:05 +0200
Subject: adding-setup_py
---
- setup.py | 53 +++++++++++++++++++++++++++++++++++++++++++++++++++++
- 1 file changed, 53 insertions(+)
- create mode 100644 setup.py
+ cctbx_sources/pycbf.py | 7734 +++++++++++++++++++++++++++++++++++++++++++++++
+ cctbx_sources/stdlib.py | 4 +
+ sconsutils.py | 100 +
+ setup.py | 111 +
+ 4 files changed, 7949 insertions(+)
+ create mode 100755 cctbx_sources/pycbf.py
+ create mode 100755 cctbx_sources/stdlib.py
+ create mode 100644 sconsutils.py
+ create mode 100755 setup.py
-diff --git a/setup.py b/setup.py
+diff --git a/cctbx_sources/pycbf.py b/cctbx_sources/pycbf.py
+new file mode 100755
+index 0000000..09499e6
+--- /dev/null
++++ b/cctbx_sources/pycbf.py
+@@ -0,0 +1,7734 @@
++# This file was automatically generated by SWIG (http://www.swig.org).
++# Version 2.0.1
++#
++# Do not make changes to this file unless you know what you are doing--modify
++# the SWIG interface file instead.
++# This file is compatible with both classic and new-style classes.
++
++from sys import version_info
++if version_info >= (2,6,0):
++ def swig_import_helper():
++ from os.path import dirname
++ import imp
++ fp = None
++ try:
++ fp, pathname, description = imp.find_module('_pycbf', [dirname(__file__)])
++ except ImportError:
++ import _pycbf
++ return _pycbf
++ if fp is not None:
++ try:
++ _mod = imp.load_module('_pycbf', fp, pathname, description)
++ finally:
++ fp.close()
++ return _mod
++ _pycbf = swig_import_helper()
++ del swig_import_helper
++else:
++ import _pycbf
++del version_info
++try:
++ _swig_property = property
++except NameError:
++ pass # Python < 2.2 doesn't have 'property'.
++def _swig_setattr_nondynamic(self,class_type,name,value,static=1):
++ if (name == "thisown"): return self.this.own(value)
++ if (name == "this"):
++ if type(value).__name__ == 'SwigPyObject':
++ self.__dict__[name] = value
++ return
++ method = class_type.__swig_setmethods__.get(name,None)
++ if method: return method(self,value)
++ if (not static) or hasattr(self,name):
++ self.__dict__[name] = value
++ else:
++ raise AttributeError("You cannot add attributes to %s" % self)
++
++def _swig_setattr(self,class_type,name,value):
++ return _swig_setattr_nondynamic(self,class_type,name,value,0)
++
++def _swig_getattr(self,class_type,name):
++ if (name == "thisown"): return self.this.own()
++ method = class_type.__swig_getmethods__.get(name,None)
++ if method: return method(self)
++ raise AttributeError(name)
++
++def _swig_repr(self):
++ try: strthis = "proxy of " + self.this.__repr__()
++ except: strthis = ""
++ return "<%s.%s; %s >" % (self.__class__.__module__, self.__class__.__name__, strthis,)
++
++try:
++ _object = object
++ _newclass = 1
++except AttributeError:
++ class _object : pass
++ _newclass = 0
++
++
++__author__ = "Jon Wright <wright at esrf.fr>"
++__date__ = "14 Dec 2005"
++__version__ = "CBFlib 0.9"
++__credits__ = """Paul Ellis and Herbert Bernstein for the excellent CBFlib!"""
++__doc__=""" pycbf - python bindings to the CBFlib library
++
++ A library for reading and writing ImageCIF and CBF files
++ which store area detector images for crystallography.
++
++ This work is a derivative of the CBFlib version 0.7.7 library
++ by Paul J. Ellis of Stanford Synchrotron Radiation Laboratory
++ and Herbert J. Bernstein of Bernstein + Sons
++ See:
++ http://www.bernstein-plus-sons.com/software/CBF/
++
++ Licensing is GPL based, see:
++ http://www.bernstein-plus-sons.com/software/CBF/doc/CBFlib_NOTICES.html
++
++ These bindings were automatically generated by SWIG, and the
++ input to SWIG was automatically generated by a python script.
++ We very strongly recommend you do not attempt to edit them
++ by hand!
++
++
++
++ Copyright (C) 2007 Jonathan Wright
++ ESRF, Grenoble, France
++ email: wright at esrf.fr
++
++ Revised, August 2010 Herbert J. Bernstein
++ Add defines from CBFlib 0.9.1
++
++"""
++
++class doubleArray(_object):
++ __swig_setmethods__ = {}
++ __setattr__ = lambda self, name, value: _swig_setattr(self, doubleArray, name, value)
++ __swig_getmethods__ = {}
++ __getattr__ = lambda self, name: _swig_getattr(self, doubleArray, name)
++ __repr__ = _swig_repr
++ def __init__(self, *args):
++ this = _pycbf.new_doubleArray(*args)
++ try: self.this.append(this)
++ except: self.this = this
++ __swig_destroy__ = _pycbf.delete_doubleArray
++ __del__ = lambda self : None;
++ def __getitem__(self, *args): return _pycbf.doubleArray___getitem__(self, *args)
++ def __setitem__(self, *args): return _pycbf.doubleArray___setitem__(self, *args)
++ def cast(self): return _pycbf.doubleArray_cast(self)
++ __swig_getmethods__["frompointer"] = lambda x: _pycbf.doubleArray_frompointer
++ if _newclass:frompointer = staticmethod(_pycbf.doubleArray_frompointer)
++doubleArray_swigregister = _pycbf.doubleArray_swigregister
++doubleArray_swigregister(doubleArray)
++
++def doubleArray_frompointer(*args):
++ return _pycbf.doubleArray_frompointer(*args)
++doubleArray_frompointer = _pycbf.doubleArray_frompointer
++
++class intArray(_object):
++ __swig_setmethods__ = {}
++ __setattr__ = lambda self, name, value: _swig_setattr(self, intArray, name, value)
++ __swig_getmethods__ = {}
++ __getattr__ = lambda self, name: _swig_getattr(self, intArray, name)
++ __repr__ = _swig_repr
++ def __init__(self, *args):
++ this = _pycbf.new_intArray(*args)
++ try: self.this.append(this)
++ except: self.this = this
++ __swig_destroy__ = _pycbf.delete_intArray
++ __del__ = lambda self : None;
++ def __getitem__(self, *args): return _pycbf.intArray___getitem__(self, *args)
++ def __setitem__(self, *args): return _pycbf.intArray___setitem__(self, *args)
++ def cast(self): return _pycbf.intArray_cast(self)
++ __swig_getmethods__["frompointer"] = lambda x: _pycbf.intArray_frompointer
++ if _newclass:frompointer = staticmethod(_pycbf.intArray_frompointer)
++intArray_swigregister = _pycbf.intArray_swigregister
++intArray_swigregister(intArray)
++
++def intArray_frompointer(*args):
++ return _pycbf.intArray_frompointer(*args)
++intArray_frompointer = _pycbf.intArray_frompointer
++
++class shortArray(_object):
++ __swig_setmethods__ = {}
++ __setattr__ = lambda self, name, value: _swig_setattr(self, shortArray, name, value)
++ __swig_getmethods__ = {}
++ __getattr__ = lambda self, name: _swig_getattr(self, shortArray, name)
++ __repr__ = _swig_repr
++ def __init__(self, *args):
++ this = _pycbf.new_shortArray(*args)
++ try: self.this.append(this)
++ except: self.this = this
++ __swig_destroy__ = _pycbf.delete_shortArray
++ __del__ = lambda self : None;
++ def __getitem__(self, *args): return _pycbf.shortArray___getitem__(self, *args)
++ def __setitem__(self, *args): return _pycbf.shortArray___setitem__(self, *args)
++ def cast(self): return _pycbf.shortArray_cast(self)
++ __swig_getmethods__["frompointer"] = lambda x: _pycbf.shortArray_frompointer
++ if _newclass:frompointer = staticmethod(_pycbf.shortArray_frompointer)
++shortArray_swigregister = _pycbf.shortArray_swigregister
++shortArray_swigregister(shortArray)
++
++def shortArray_frompointer(*args):
++ return _pycbf.shortArray_frompointer(*args)
++shortArray_frompointer = _pycbf.shortArray_frompointer
++
++class longArray(_object):
++ __swig_setmethods__ = {}
++ __setattr__ = lambda self, name, value: _swig_setattr(self, longArray, name, value)
++ __swig_getmethods__ = {}
++ __getattr__ = lambda self, name: _swig_getattr(self, longArray, name)
++ __repr__ = _swig_repr
++ def __init__(self, *args):
++ this = _pycbf.new_longArray(*args)
++ try: self.this.append(this)
++ except: self.this = this
++ __swig_destroy__ = _pycbf.delete_longArray
++ __del__ = lambda self : None;
++ def __getitem__(self, *args): return _pycbf.longArray___getitem__(self, *args)
++ def __setitem__(self, *args): return _pycbf.longArray___setitem__(self, *args)
++ def cast(self): return _pycbf.longArray_cast(self)
++ __swig_getmethods__["frompointer"] = lambda x: _pycbf.longArray_frompointer
++ if _newclass:frompointer = staticmethod(_pycbf.longArray_frompointer)
++longArray_swigregister = _pycbf.longArray_swigregister
++longArray_swigregister(longArray)
++
++def longArray_frompointer(*args):
++ return _pycbf.longArray_frompointer(*args)
++longArray_frompointer = _pycbf.longArray_frompointer
++
++CBF_INTEGER = _pycbf.CBF_INTEGER
++CBF_FLOAT = _pycbf.CBF_FLOAT
++CBF_CANONICAL = _pycbf.CBF_CANONICAL
++CBF_PACKED = _pycbf.CBF_PACKED
++CBF_PACKED_V2 = _pycbf.CBF_PACKED_V2
++CBF_BYTE_OFFSET = _pycbf.CBF_BYTE_OFFSET
++CBF_PREDICTOR = _pycbf.CBF_PREDICTOR
++CBF_NONE = _pycbf.CBF_NONE
++CBF_COMPRESSION_MASK = _pycbf.CBF_COMPRESSION_MASK
++CBF_FLAG_MASK = _pycbf.CBF_FLAG_MASK
++CBF_UNCORRELATED_SECTIONS = _pycbf.CBF_UNCORRELATED_SECTIONS
++CBF_FLAT_IMAGE = _pycbf.CBF_FLAT_IMAGE
++CBF_NO_EXPAND = _pycbf.CBF_NO_EXPAND
++PLAIN_HEADERS = _pycbf.PLAIN_HEADERS
++MIME_HEADERS = _pycbf.MIME_HEADERS
++MSG_NODIGEST = _pycbf.MSG_NODIGEST
++MSG_DIGEST = _pycbf.MSG_DIGEST
++MSG_DIGESTNOW = _pycbf.MSG_DIGESTNOW
++MSG_DIGESTWARN = _pycbf.MSG_DIGESTWARN
++PAD_1K = _pycbf.PAD_1K
++PAD_2K = _pycbf.PAD_2K
++PAD_4K = _pycbf.PAD_4K
++CBF_PARSE_BRC = _pycbf.CBF_PARSE_BRC
++CBF_PARSE_PRN = _pycbf.CBF_PARSE_PRN
++CBF_PARSE_BKT = _pycbf.CBF_PARSE_BKT
++CBF_PARSE_BRACKETS = _pycbf.CBF_PARSE_BRACKETS
++CBF_PARSE_TQ = _pycbf.CBF_PARSE_TQ
++CBF_PARSE_CIF2_DELIMS = _pycbf.CBF_PARSE_CIF2_DELIMS
++CBF_PARSE_DDLm = _pycbf.CBF_PARSE_DDLm
++CBF_PARSE_CIF2 = _pycbf.CBF_PARSE_CIF2
++CBF_PARSE_DEFINES = _pycbf.CBF_PARSE_DEFINES
++CBF_PARSE_WIDE = _pycbf.CBF_PARSE_WIDE
++CBF_PARSE_UTF8 = _pycbf.CBF_PARSE_UTF8
++HDR_DEFAULT = _pycbf.HDR_DEFAULT
++MIME_NOHEADERS = _pycbf.MIME_NOHEADERS
++CBF = _pycbf.CBF
++CIF = _pycbf.CIF
++ENC_NONE = _pycbf.ENC_NONE
++ENC_BASE64 = _pycbf.ENC_BASE64
++ENC_BASE32K = _pycbf.ENC_BASE32K
++ENC_QP = _pycbf.ENC_QP
++ENC_BASE10 = _pycbf.ENC_BASE10
++ENC_BASE16 = _pycbf.ENC_BASE16
++ENC_BASE8 = _pycbf.ENC_BASE8
++ENC_FORWARD = _pycbf.ENC_FORWARD
++ENC_BACKWARD = _pycbf.ENC_BACKWARD
++ENC_CRTERM = _pycbf.ENC_CRTERM
++ENC_LFTERM = _pycbf.ENC_LFTERM
++ENC_DEFAULT = _pycbf.ENC_DEFAULT
++
++def get_local_integer_byte_order():
++ """
++ Returns : char **bo,int *bolen
++ *args :
++
++ C prototype: int cbf_get_local_integer_byte_order (char ** byte_order);
++
++ CBFLib documentation:
++ DESCRIPTION
++ cbf_get_local_integer_byte_order returns the byte order of integers
++ on the machine on which the API is being run in the form of a
++ character string returned as the value pointed to by byte_order.
++ cbf_get_local_real_byte_order returns the byte order of reals on the
++ machine on which the API is being run in the form of a character
++ string returned as the value pointed to by byte_order.
++ cbf_get_local_real_format returns the format of floats on the machine
++ on which the API is being run in the form of a character string
++ returned as the value pointed to by real_format. The strings returned
++ must not be modified in any way.
++ The values returned in byte_order may be the strings "little_endian
++ " or "big-endian ". The values returned in real_format may be the
++ strings "ieee 754-1985 " or "other ". Additional values may be
++ returned by future versions of the API.
++ ARGUMENTS
++ byte_order pointer to the returned string real_format pointer to
++ the returned string
++ RETURN VALUE
++ Returns an error code on failure or 0 for success.
++ ----------------------------------------------------------------------
++
++ """
++ return _pycbf.get_local_integer_byte_order()
++
++def compute_cell_volume(*args):
++ """
++ Returns : Float volume
++ *args : double cell[6]
++
++ C prototype: int cbf_compute_cell_volume ( double cell[6], double *volume );
++
++ CBFLib documentation:
++ DESCRIPTION
++ cbf_compute_cell_volume sets *volume to point to the volume of the
++ unit cell computed from the double values in cell[0:2] for the cell
++ edge lengths a, b and c in AAngstroms and the double values given in
++ cell[3:5] for the cell angles a, b and g in degrees.
++ ARGUMENTS
++ cell Pointer to the array of 6 doubles giving the cell
++ parameters. volume Pointer to the doubles for cell volume.
++ RETURN VALUE
++ Returns an error code on failure or 0 for success.
++ SEE ALSO
++
++ """
++ return _pycbf.compute_cell_volume(*args)
++
++def get_local_real_format():
++ """
++ Returns : char **rf,int *rflen
++ *args :
++
++ C prototype: int cbf_get_local_real_format (char ** real_format );
++
++ CBFLib documentation:
++ DESCRIPTION
++ cbf_get_local_integer_byte_order returns the byte order of integers
++ on the machine on which the API is being run in the form of a
++ character string returned as the value pointed to by byte_order.
++ cbf_get_local_real_byte_order returns the byte order of reals on the
++ machine on which the API is being run in the form of a character
++ string returned as the value pointed to by byte_order.
++ cbf_get_local_real_format returns the format of floats on the machine
++ on which the API is being run in the form of a character string
++ returned as the value pointed to by real_format. The strings returned
++ must not be modified in any way.
++ The values returned in byte_order may be the strings "little_endian
++ " or "big-endian ". The values returned in real_format may be the
++ strings "ieee 754-1985 " or "other ". Additional values may be
++ returned by future versions of the API.
++ ARGUMENTS
++ byte_order pointer to the returned string real_format pointer to
++ the returned string
++ RETURN VALUE
++ Returns an error code on failure or 0 for success.
++ ----------------------------------------------------------------------
++
++ """
++ return _pycbf.get_local_real_format()
++
++def get_local_real_byte_order():
++ """
++ Returns : char **bo,int *bolen
++ *args :
++
++ C prototype: int cbf_get_local_real_byte_order (char ** byte_order);
++
++ CBFLib documentation:
++ DESCRIPTION
++ cbf_get_local_integer_byte_order returns the byte order of integers
++ on the machine on which the API is being run in the form of a
++ character string returned as the value pointed to by byte_order.
++ cbf_get_local_real_byte_order returns the byte order of reals on the
++ machine on which the API is being run in the form of a character
++ string returned as the value pointed to by byte_order.
++ cbf_get_local_real_format returns the format of floats on the machine
++ on which the API is being run in the form of a character string
++ returned as the value pointed to by real_format. The strings returned
++ must not be modified in any way.
++ The values returned in byte_order may be the strings "little_endian
++ " or "big-endian ". The values returned in real_format may be the
++ strings "ieee 754-1985 " or "other ". Additional values may be
++ returned by future versions of the API.
++ ARGUMENTS
++ byte_order pointer to the returned string real_format pointer to
++ the returned string
++ RETURN VALUE
++ Returns an error code on failure or 0 for success.
++ ----------------------------------------------------------------------
++
++ """
++ return _pycbf.get_local_real_byte_order()
++
++def compute_reciprocal_cell(*args):
++ """
++ Returns : Float astar,Float bstar,Float cstar,Float alphastar,Float betastar,
++ Float gammastar
++ *args : double cell[6]
++
++ C prototype: int cbf_compute_reciprocal_cell ( double cell[6],
++ double rcell[6] );
++
++ CBFLib documentation:
++ DESCRIPTION
++ cbf_compute_reciprocal_cell sets rcell to point to the array of
++ reciprocal cell parameters computed from the double values cell[0:2]
++ giving the cell edge lengths a, b and c in AAngstroms, and the double
++ values cell[3:5] giving the cell angles a, b and g in degrees. The
++ double values rcell[0:2] will be set to the reciprocal cell lengths
++ a*, b* and c* in AAngstroms-1 and the double values rcell[3:5] will
++ be set to the reciprocal cell angles a*, b* and g* in degrees.
++ ARGUMENTS
++ cell Pointer to the array of 6 doubles giving the cell
++ parameters. rcell Pointer to the destination array of 6 doubles
++ giving the reciprocal cell parameters. volume Pointer to the
++ doubles for cell volume.
++ RETURN VALUE
++ Returns an error code on failure or 0 for success.
++ SEE ALSO
++
++ """
++ return _pycbf.compute_reciprocal_cell(*args)
++class cbf_positioner_struct(_object):
++ """Proxy of C cbf_positioner_struct struct"""
++ __swig_setmethods__ = {}
++ __setattr__ = lambda self, name, value: _swig_setattr(self, cbf_positioner_struct, name, value)
++ __swig_getmethods__ = {}
++ __getattr__ = lambda self, name: _swig_getattr(self, cbf_positioner_struct, name)
++ __repr__ = _swig_repr
++ __swig_setmethods__["matrix"] = _pycbf.cbf_positioner_struct_matrix_set
++ __swig_getmethods__["matrix"] = _pycbf.cbf_positioner_struct_matrix_get
++ if _newclass:matrix = _swig_property(_pycbf.cbf_positioner_struct_matrix_get, _pycbf.cbf_positioner_struct_matrix_set)
++ __swig_setmethods__["axis"] = _pycbf.cbf_positioner_struct_axis_set
++ __swig_getmethods__["axis"] = _pycbf.cbf_positioner_struct_axis_get
++ if _newclass:axis = _swig_property(_pycbf.cbf_positioner_struct_axis_get, _pycbf.cbf_positioner_struct_axis_set)
++ __swig_setmethods__["axes"] = _pycbf.cbf_positioner_struct_axes_set
++ __swig_getmethods__["axes"] = _pycbf.cbf_positioner_struct_axes_get
++ if _newclass:axes = _swig_property(_pycbf.cbf_positioner_struct_axes_get, _pycbf.cbf_positioner_struct_axes_set)
++ __swig_setmethods__["matrix_is_valid"] = _pycbf.cbf_positioner_struct_matrix_is_valid_set
++ __swig_getmethods__["matrix_is_valid"] = _pycbf.cbf_positioner_struct_matrix_is_valid_get
++ if _newclass:matrix_is_valid = _swig_property(_pycbf.cbf_positioner_struct_matrix_is_valid_get, _pycbf.cbf_positioner_struct_matrix_is_valid_set)
++ __swig_setmethods__["axes_are_connected"] = _pycbf.cbf_positioner_struct_axes_are_connected_set
++ __swig_getmethods__["axes_are_connected"] = _pycbf.cbf_positioner_struct_axes_are_connected_get
++ if _newclass:axes_are_connected = _swig_property(_pycbf.cbf_positioner_struct_axes_are_connected_get, _pycbf.cbf_positioner_struct_axes_are_connected_set)
++ def __init__(self):
++ """__init__(self) -> cbf_positioner_struct"""
++ this = _pycbf.new_cbf_positioner_struct()
++ try: self.this.append(this)
++ except: self.this = this
++ __swig_destroy__ = _pycbf.delete_cbf_positioner_struct
++ __del__ = lambda self : None;
++ def get_rotation_range(self):
++ """
++ Returns : Float start,Float increment
++ *args :
++
++ C prototype: int cbf_get_rotation_range (cbf_goniometer goniometer,
++ unsigned int reserved, double *start, double *increment);
++
++ CBFLib documentation:
++ DESCRIPTION
++ cbf_get_rotation_range sets *start and *increment to the
++ corresponding values of the goniometer rotation axis used for the
++ exposure.
++ Either of the destination pointers may be NULL.
++ The parameter reserved is presently unused and should be set to 0.
++ ARGUMENTS
++ goniometer Goniometer handle. reserved Unused. Any value other
++ than 0 is invalid. start Pointer to the destination start
++ value. increment Pointer to the destination increment value.
++ RETURN VALUE
++ Returns an error code on failure or 0 for success.
++ ----------------------------------------------------------------------
++
++ """
++ return _pycbf.cbf_positioner_struct_get_rotation_range(self)
++
++ def rotate_vector(self, *args):
++ """
++ Returns : double final1,double final2,double final3
++ *args : double ratio,double initial1,double initial2,double initial3
++
++ C prototype: int cbf_rotate_vector (cbf_goniometer goniometer,
++ unsigned int reserved, double ratio, double initial1,
++ double initial2, double initial3, double *final1,
++ double *final2, double *final3);
++
++ CBFLib documentation:
++ DESCRIPTION
++ cbf_rotate_vector sets *final1, *final2, and *final3 to the 3
++ components of the of the vector (initial1, initial2, initial3) after
++ reorientation by applying the goniometer rotations. The value ratio
++ specif ies the goniometer setting and varies from 0.0 at the
++ beginning of the exposure to 1.0 at the end, irrespective of the
++ actual rotation range.
++ Any of the destination pointers may be NULL.
++ The parameter reserved is presently unused and should be set to 0.
++ ARGUMENTS
++ goniometer Goniometer handle. reserved Unused. Any value other
++ than 0 is invalid. ratio Goniometer setting. 0 = beginning of
++ exposure, 1 = end. initial1 x component of the initial vector.
++ initial2 y component of the initial vector. initial3 z
++ component of the initial vector. vector1 Pointer to the
++ destination x component of the final vector. vector2 Pointer to
++ the destination y component of the final vector. vector3 Pointer
++ to the destination z component of the final vector.
++ RETURN VALUE
++ Returns an error code on failure or 0 for success.
++ ----------------------------------------------------------------------
++
++ """
++ return _pycbf.cbf_positioner_struct_rotate_vector(self, *args)
++
++ def get_reciprocal(self, *args):
++ """
++ Returns : double reciprocal1,double reciprocal2,double reciprocal3
++ *args : double ratio,double wavelength,double real1,double real2,double real3
++
++ C prototype: int cbf_get_reciprocal (cbf_goniometer goniometer,
++ unsigned int reserved, double ratio, double wavelength,
++ double real1, double real2, double real3,
++ double *reciprocal1, double *reciprocal2,
++ double *reciprocal3);
++
++ CBFLib documentation:
++ DESCRIPTION
++ cbf_get_reciprocal sets *reciprocal1, * reciprocal2, and *
++ reciprocal3 to the 3 components of the of the reciprocal-space vector
++ corresponding to the real-space vector (real1, real2, real3). The
++ reciprocal-space vector is oriented to correspond to the goniometer
++ setting with all axes at 0. The value wavelength is the wavlength in
++ AA and the value ratio specifies the current goniometer setting and
++ varies from 0.0 at the beginning of the exposur e to 1.0 at the end,
++ irrespective of the actual rotation range.
++ Any of the destination pointers may be NULL.
++ The parameter reserved is presently unused and should be set to 0.
++ ARGUMENTS
++ goniometer Goniometer handle. reserved Unused. Any value
++ other than 0 is invalid. ratio Goniometer setting. 0 =
++ beginning of exposure, 1 = end. wavelength Wavelength in AA. real1
++ x component of the real-space vector. real2 y
++ component of the real-space vector. real3 z component of the
++ real-space vector. reciprocal1 Pointer to the destination x
++ component of the reciprocal-space vector. reciprocal2 Pointer to
++ the destination y component of the reciprocal-space vector.
++ reciprocal3 Pointer to the destination z component of the
++ reciprocal-space vector.
++ RETURN VALUE
++ Returns an error code on failure or 0 for success.
++ ----------------------------------------------------------------------
++
++ """
++ return _pycbf.cbf_positioner_struct_get_reciprocal(self, *args)
++
++ def get_rotation_axis(self):
++ """
++ Returns : double vector1,double vector2,double vector3
++ *args :
++
++ C prototype: int cbf_get_rotation_axis (cbf_goniometer goniometer,
++ unsigned int reserved, double *vector1, double *vector2,
++ double *vector3);
++
++ CBFLib documentation:
++ DESCRIPTION
++ cbf_get_rotation_axis sets *vector1, *vector2, and *vector3 to the 3
++ components of the goniometer rotation axis used for the exposure.
++ Any of the destination pointers may be NULL.
++ The parameter reserved is presently unused and should be set to 0.
++ ARGUMENTS
++ goniometer Goniometer handle. reserved Unused. Any value other
++ than 0 is invalid. vector1 Pointer to the destination x
++ component of the rotation axis. vector2 Pointer to the
++ destination y component of the rotation axis. vector3 Pointer to
++ the destination z component of the rotation axis.
++ RETURN VALUE
++ Returns an error code on failure or 0 for success.
++ ----------------------------------------------------------------------
++
++ """
++ return _pycbf.cbf_positioner_struct_get_rotation_axis(self)
++
++cbf_positioner_struct_swigregister = _pycbf.cbf_positioner_struct_swigregister
++cbf_positioner_struct_swigregister(cbf_positioner_struct)
++
++class cbf_detector_struct(_object):
++ """Proxy of C cbf_detector_struct struct"""
++ __swig_setmethods__ = {}
++ __setattr__ = lambda self, name, value: _swig_setattr(self, cbf_detector_struct, name, value)
++ __swig_getmethods__ = {}
++ __getattr__ = lambda self, name: _swig_getattr(self, cbf_detector_struct, name)
++ __repr__ = _swig_repr
++ __swig_setmethods__["positioner"] = _pycbf.cbf_detector_struct_positioner_set
++ __swig_getmethods__["positioner"] = _pycbf.cbf_detector_struct_positioner_get
++ if _newclass:positioner = _swig_property(_pycbf.cbf_detector_struct_positioner_get, _pycbf.cbf_detector_struct_positioner_set)
++ __swig_setmethods__["displacement"] = _pycbf.cbf_detector_struct_displacement_set
++ __swig_getmethods__["displacement"] = _pycbf.cbf_detector_struct_displacement_get
++ if _newclass:displacement = _swig_property(_pycbf.cbf_detector_struct_displacement_get, _pycbf.cbf_detector_struct_displacement_set)
++ __swig_setmethods__["increment"] = _pycbf.cbf_detector_struct_increment_set
++ __swig_getmethods__["increment"] = _pycbf.cbf_detector_struct_increment_get
++ if _newclass:increment = _swig_property(_pycbf.cbf_detector_struct_increment_get, _pycbf.cbf_detector_struct_increment_set)
++ __swig_setmethods__["axes"] = _pycbf.cbf_detector_struct_axes_set
++ __swig_getmethods__["axes"] = _pycbf.cbf_detector_struct_axes_get
++ if _newclass:axes = _swig_property(_pycbf.cbf_detector_struct_axes_get, _pycbf.cbf_detector_struct_axes_set)
++ __swig_setmethods__["index"] = _pycbf.cbf_detector_struct_index_set
++ __swig_getmethods__["index"] = _pycbf.cbf_detector_struct_index_get
++ if _newclass:index = _swig_property(_pycbf.cbf_detector_struct_index_get, _pycbf.cbf_detector_struct_index_set)
++ def __init__(self):
++ """__init__(self) -> cbf_detector_struct"""
++ this = _pycbf.new_cbf_detector_struct()
++ try: self.this.append(this)
++ except: self.this = this
++ __swig_destroy__ = _pycbf.delete_cbf_detector_struct
++ __del__ = lambda self : None;
++ def set_beam_center_fs(self, *args):
++ """
++ Returns :
++ *args : double indexfast,double indexslow,double centerfast,double centerslow
++
++ C prototype: int cbf_set_beam_center_fs (cbf_detector detector,
++ double *indexfast, double *indexslow, double *centerfast,
++ double *centerslow);
++
++ CBFLib documentation:
++ DESCRIPTION
++ cbf_get_beam_center sets *centerfast and *centerslow to the
++ displacements in mm along the detector axes from pixel (0, 0) to the
++ point at which the beam intersects the detector and *indexfast and
++ *indexslow to the corresponding indices. cbf_set_beam_center sets the
++ offsets in the axis category for the detector element axis with
++ precedence 1 to place the beam center at the position given in mm by
++ *centerfast and *centerslow as the displacements in mm along the
++ detector axes from pixel (0, 0) to the point at which the beam
++ intersects the detector at the indices given *indexfast and
++ *indexslow. cbf_set_reference_beam_center sets the displacments in
++ the array_structure_list_axis category to place the beam center at
++ the position given in mm by *centerfast and *centerslow as the
++ displacements in mm along the detector axes from pixel (0, 0) to the
++ point at which the beam intersects the detector at the indices given
++ by *indexfast and *indexslow. In order to achieve consistent results,
++ a reference detector should be used for detector to have all axes at
++ their reference settings.
++ Note that the precedence 1 axis is the fastest axis, so that
++ *centerfast and *indexfast are the fast axis components of the center
++ and *centerslow and *indexslow are the slow axis components of the
++ center.
++ The _fs calls give the displacments in a fast-to-slow order. The
++ calls with no suffix and the calls _sf calls give the displacements
++ in slow-to-fast order
++ Any of the destination pointers may be NULL for getting the beam
++ center. For setting the beam axis, either the indices of the center
++ must not be NULL.
++ The indices are non-negative for beam centers within the detector
++ surface, but the center for an axis with a negative increment will be
++ negative for a beam center within the detector surface.
++ For cbf_set_beam_center if the diffrn_data_frame category exists with
++ a row for the corresponding element id, the values will be set for
++ _diffrn_data_frame.center_fast and _diffrn_data_frame.center_slow in
++ millimetres and the value of _diffrn_data_frame.center_units will be
++ set to 'mm'.
++ For cbf_set_reference_beam_center if the diffrn_detector_element
++ category exists with a row for the corresponding element id, the
++ values will be set for _diffrn_detector_element.reference_center_fast
++ and _diffrn_detector_element.reference_center_slow in millimetres and
++ the value of _diffrn_detector_element.reference_units will be set to
++ 'mm'.
++ ARGUMENTS
++ detector Detector handle. indexfast Pointer to the destination
++ fast index. indexslow Pointer to the destination slow index.
++ centerfast Pointer to the destination displacement along the fast
++ axis. centerslow Pointer to the destination displacement along the
++ slow axis.
++ RETURN VALUE
++ Returns an error code on failure or 0 for success.
++ ----------------------------------------------------------------------
++
++ """
++ return _pycbf.cbf_detector_struct_set_beam_center_fs(self, *args)
++
++ def set_reference_beam_center_fs(self, *args):
++ """
++ Returns :
++ *args : double indexfast,double indexslow,double centerfast,double centerslow
++
++ C prototype: int cbf_set_reference_beam_center_fs (cbf_detector detector,
++ double *indexfast, double *indexslow, double *centerfast,
++ double *centerslow);
++
++ CBFLib documentation:
++ DESCRIPTION
++ cbf_get_beam_center sets *centerfast and *centerslow to the
++ displacements in mm along the detector axes from pixel (0, 0) to the
++ point at which the beam intersects the detector and *indexfast and
++ *indexslow to the corresponding indices. cbf_set_beam_center sets the
++ offsets in the axis category for the detector element axis with
++ precedence 1 to place the beam center at the position given in mm by
++ *centerfast and *centerslow as the displacements in mm along the
++ detector axes from pixel (0, 0) to the point at which the beam
++ intersects the detector at the indices given *indexfast and
++ *indexslow. cbf_set_reference_beam_center sets the displacments in
++ the array_structure_list_axis category to place the beam center at
++ the position given in mm by *centerfast and *centerslow as the
++ displacements in mm along the detector axes from pixel (0, 0) to the
++ point at which the beam intersects the detector at the indices given
++ by *indexfast and *indexslow. In order to achieve consistent results,
++ a reference detector should be used for detector to have all axes at
++ their reference settings.
++ Note that the precedence 1 axis is the fastest axis, so that
++ *centerfast and *indexfast are the fast axis components of the center
++ and *centerslow and *indexslow are the slow axis components of the
++ center.
++ The _fs calls give the displacments in a fast-to-slow order. The
++ calls with no suffix and the calls _sf calls give the displacements
++ in slow-to-fast order
++ Any of the destination pointers may be NULL for getting the beam
++ center. For setting the beam axis, either the indices of the center
++ must not be NULL.
++ The indices are non-negative for beam centers within the detector
++ surface, but the center for an axis with a negative increment will be
++ negative for a beam center within the detector surface.
++ For cbf_set_beam_center if the diffrn_data_frame category exists with
++ a row for the corresponding element id, the values will be set for
++ _diffrn_data_frame.center_fast and _diffrn_data_frame.center_slow in
++ millimetres and the value of _diffrn_data_frame.center_units will be
++ set to 'mm'.
++ For cbf_set_reference_beam_center if the diffrn_detector_element
++ category exists with a row for the corresponding element id, the
++ values will be set for _diffrn_detector_element.reference_center_fast
++ and _diffrn_detector_element.reference_center_slow in millimetres and
++ the value of _diffrn_detector_element.reference_units will be set to
++ 'mm'.
++ ARGUMENTS
++ detector Detector handle. indexfast Pointer to the destination
++ fast index. indexslow Pointer to the destination slow index.
++ centerfast Pointer to the destination displacement along the fast
++ axis. centerslow Pointer to the destination displacement along the
++ slow axis.
++ RETURN VALUE
++ Returns an error code on failure or 0 for success.
++ ----------------------------------------------------------------------
++
++ """
++ return _pycbf.cbf_detector_struct_set_reference_beam_center_fs(self, *args)
++
++ def get_pixel_coordinates_fs(self, *args):
++ """
++ Returns : double coordinate1,double coordinate2,double coordinate3
++ *args : double indexfast,double indexslow
++
++ C prototype: int cbf_get_pixel_coordinates_fs (cbf_detector detector,
++ double indexfast, double indexslow, double *coordinate1,
++ double *coordinate2, double *coordinate3);
++
++ CBFLib documentation:
++ DESCRIPTION
++ cbf_get_pixel_coordinates, cbf_get_pixel_coordinates_fs and
++ cbf_get_pixel_coordinates_sf ses *coordinate1, *coordinate2, and
++ *coordinate3 to the vector position of pixel (indexfast, indexslow)
++ on the detector surface. If indexslow and indexfast are integers then
++ the coordinates correspond to the center of a pixel.
++ Any of the destination pointers may be NULL.
++ ARGUMENTS
++ detector Detector handle. indexslow Slow index. indexfast
++ Fast index. coordinate1 Pointer to the destination x component.
++ coordinate2 Pointer to the destination y component. coordinate3
++ Pointer to the destination z component.
++ RETURN VALUE
++ Returns an error code on failure or 0 for success.
++ ----------------------------------------------------------------------
++
++ """
++ return _pycbf.cbf_detector_struct_get_pixel_coordinates_fs(self, *args)
++
++ def get_inferred_pixel_size(self, *args):
++ """
++ Returns : Float pixel size
++ *args : Int axis_number
++
++ C prototype: int cbf_get_inferred_pixel_size (cbf_detector detector,
++ int axis_number, double *psize);
++
++ CBFLib documentation:
++ DESCRIPTION
++ cbf_get_inferred_pixel_size, cbf_get_inferred_pixel_size_sf set
++ *psize to point to the double value in millimeters of the pixel size
++ for the axis axis_number value. The slow index is treated as axis 1
++ and the next faster index is treated as axis 2.
++ cbf_get_inferred_pixel_size_fs sets *psize to point to the double
++ value in millimeters of the pixel size for the axis axis_number
++ value. The fast index is treated as axis 1 and the next slower index
++ is treated as axis 2.
++ If the axis number is negative, the axes are used in the reverse
++ order so that an axis_number of -1 indicates the fast axes in a call
++ to cbf_get_inferred_pixel_size or cbf_get_inferred_pixel_size_sf and
++ indicates the fast axis in a call to cbf_get_inferred_pixel_size_fs.
++ ARGUMENTS
++ detector Detector handle. axis_number The number of the axis.
++ area Pointer to the destination pizel size in mm.
++ RETURN VALUE
++ Returns an error code on failure or 0 for success.
++ ----------------------------------------------------------------------
++
++ """
++ return _pycbf.cbf_detector_struct_get_inferred_pixel_size(self, *args)
++
++ def get_pixel_area(self, *args):
++ """
++ Returns : double area,double projected_area
++ *args : double index1,double index2
++
++ C prototype: int cbf_get_pixel_area (cbf_detector detector, double indexslow,
++ double indexfast, double *area, double *projected_area);
++
++ CBFLib documentation:
++ DESCRIPTION
++ cbf_get_pixel_area, cbf_get_pixel_area_fs and cbf_get_pixel_area_sf
++ set *area to the area of the pixel at (indexfast, indexslow) on the
++ detector surface and *projected_area to the apparent area of the
++ pixel as viewed from the sample position, with indexslow being the
++ slow axis and indexfast being the fast axis.
++ Either of the destination pointers may be NULL.
++ ARGUMENTS
++ detector Detector handle. indexfast Fast index.
++ indexslow Slow index. area Pointer to the
++ destination area in mm2. projected_area Pointer to the destination
++ apparent area in mm2.
++ RETURN VALUE
++ Returns an error code on failure or 0 for success.
++ ----------------------------------------------------------------------
++
++ """
++ return _pycbf.cbf_detector_struct_get_pixel_area(self, *args)
++
++ def get_pixel_normal_fs(self, *args):
++ """
++ Returns : double normal1,double normal2,double normal3
++ *args : double indexfast,double indexslow
++
++ C prototype: int cbf_get_pixel_normal_fs (cbf_detector detector,
++ double indexfast, double indexslow, double *normal1,
++ double *normal2, double *normal3);
++
++ CBFLib documentation:
++ DESCRIPTION
++ cbf_get_detector_normal, cbf_get_pixel_normal_fs and
++ cbf_get_pixel_normal_sf set *normal1, *normal2, and *normal3 to the 3
++ components of the of the normal vector to the pixel at (indexfast,
++ indexslow). The vector is normalized.
++ Any of the destination pointers may be NULL.
++ ARGUMENTS
++ detector Detector handle. indexslow Slow index. indexfast Fast
++ index. normal1 Pointer to the destination x component of the
++ normal vector. normal2 Pointer to the destination y component of
++ the normal vector. normal3 Pointer to the destination z component
++ of the normal vector.
++ RETURN VALUE
++ Returns an error code on failure or 0 for success.
++ ----------------------------------------------------------------------
++
++ """
++ return _pycbf.cbf_detector_struct_get_pixel_normal_fs(self, *args)
++
++ def get_detector_axes(self):
++ """
++ Returns : double slowaxis1,double slowaxis2,double slowaxis3,double fastaxis1,
++ double fastaxis2,double fastaxis3
++ *args :
++
++ C prototype: int cbf_get_detector_axes (cbf_detector detector,
++ double *slowaxis1, double *slowaxis2, double *slowaxis3,
++ double *fastaxis1, double *fastaxis2, double *fastaxis3);
++
++ CBFLib documentation:
++ DESCRIPTION
++ cbf_get_detector_axis_slow sets *slowaxis1, *slowaxis2, and
++ *slowaxis3 to the 3 components of the slow axis of the specified
++ detector at the current settings of all axes.
++ cbf_get_detector_axis_slow sets *fastaxis1, *fastaxis2, and
++ *fastaxis3 to the 3 components of the fast axis of the specified
++ detector at the current settings of all axes. cbf_get_detector_axes,
++ cbf_get_detector_axes_fs and int cbf_get_detector_axes_sf set
++ *slowaxis1, *slowaxis2, and *slowaxis3 to the 3 components of the
++ slow axis and *fastaxis1, *fastaxis2, and *fastaxis3 to the 3
++ components of the fast axis of the specified detector at the current
++ settings of all axes.
++ Any of the destination pointers may be NULL.
++ ARGUMENTS
++ detector Detector handle. slowaxis1 Pointer to the destination x
++ component of the slow axis vector. slowaxis2 Pointer to the
++ destination y component of the slow axis vector. slowaxis3 Pointer
++ to the destination z component of the slow axis vector. fastaxis1
++ Pointer to the destination x component of the fast axis vector.
++ fastaxis2 Pointer to the destination y component of the fast axis
++ vector. fastaxis3 Pointer to the destination z component of the
++ fast axis vector.
++ RETURN VALUE
++ Returns an error code on failure or 0 for success.
++ ----------------------------------------------------------------------
++
++ """
++ return _pycbf.cbf_detector_struct_get_detector_axes(self)
++
++ def set_reference_beam_center(self, *args):
++ """
++ Returns :
++ *args : double indexslow,double indexfast,double centerslow,double centerfast
++
++ C prototype: int cbf_set_reference_beam_center (cbf_detector detector,
++ double *indexslow, double *indexfast, double *centerslow,
++ double *centerfast);
++
++ CBFLib documentation:
++ DESCRIPTION
++ cbf_get_beam_center sets *centerfast and *centerslow to the
++ displacements in mm along the detector axes from pixel (0, 0) to the
++ point at which the beam intersects the detector and *indexfast and
++ *indexslow to the corresponding indices. cbf_set_beam_center sets the
++ offsets in the axis category for the detector element axis with
++ precedence 1 to place the beam center at the position given in mm by
++ *centerfast and *centerslow as the displacements in mm along the
++ detector axes from pixel (0, 0) to the point at which the beam
++ intersects the detector at the indices given *indexfast and
++ *indexslow. cbf_set_reference_beam_center sets the displacments in
++ the array_structure_list_axis category to place the beam center at
++ the position given in mm by *centerfast and *centerslow as the
++ displacements in mm along the detector axes from pixel (0, 0) to the
++ point at which the beam intersects the detector at the indices given
++ by *indexfast and *indexslow. In order to achieve consistent results,
++ a reference detector should be used for detector to have all axes at
++ their reference settings.
++ Note that the precedence 1 axis is the fastest axis, so that
++ *centerfast and *indexfast are the fast axis components of the center
++ and *centerslow and *indexslow are the slow axis components of the
++ center.
++ The _fs calls give the displacments in a fast-to-slow order. The
++ calls with no suffix and the calls _sf calls give the displacements
++ in slow-to-fast order
++ Any of the destination pointers may be NULL for getting the beam
++ center. For setting the beam axis, either the indices of the center
++ must not be NULL.
++ The indices are non-negative for beam centers within the detector
++ surface, but the center for an axis with a negative increment will be
++ negative for a beam center within the detector surface.
++ For cbf_set_beam_center if the diffrn_data_frame category exists with
++ a row for the corresponding element id, the values will be set for
++ _diffrn_data_frame.center_fast and _diffrn_data_frame.center_slow in
++ millimetres and the value of _diffrn_data_frame.center_units will be
++ set to 'mm'.
++ For cbf_set_reference_beam_center if the diffrn_detector_element
++ category exists with a row for the corresponding element id, the
++ values will be set for _diffrn_detector_element.reference_center_fast
++ and _diffrn_detector_element.reference_center_slow in millimetres and
++ the value of _diffrn_detector_element.reference_units will be set to
++ 'mm'.
++ ARGUMENTS
++ detector Detector handle. indexfast Pointer to the destination
++ fast index. indexslow Pointer to the destination slow index.
++ centerfast Pointer to the destination displacement along the fast
++ axis. centerslow Pointer to the destination displacement along the
++ slow axis.
++ RETURN VALUE
++ Returns an error code on failure or 0 for success.
++ ----------------------------------------------------------------------
++
++ """
++ return _pycbf.cbf_detector_struct_set_reference_beam_center(self, *args)
++
++ def get_detector_axis_slow(self):
++ """
++ Returns : double slowaxis1,double slowaxis2,double slowaxis3
++ *args :
++
++ C prototype: int cbf_get_detector_axis_slow (cbf_detector detector,
++ double *slowaxis1, double *slowaxis2, double *slowaxis3);
++
++ CBFLib documentation:
++ DESCRIPTION
++ cbf_get_detector_axis_slow sets *slowaxis1, *slowaxis2, and
++ *slowaxis3 to the 3 components of the slow axis of the specified
++ detector at the current settings of all axes.
++ cbf_get_detector_axis_slow sets *fastaxis1, *fastaxis2, and
++ *fastaxis3 to the 3 components of the fast axis of the specified
++ detector at the current settings of all axes. cbf_get_detector_axes,
++ cbf_get_detector_axes_fs and int cbf_get_detector_axes_sf set
++ *slowaxis1, *slowaxis2, and *slowaxis3 to the 3 components of the
++ slow axis and *fastaxis1, *fastaxis2, and *fastaxis3 to the 3
++ components of the fast axis of the specified detector at the current
++ settings of all axes.
++ Any of the destination pointers may be NULL.
++ ARGUMENTS
++ detector Detector handle. slowaxis1 Pointer to the destination x
++ component of the slow axis vector. slowaxis2 Pointer to the
++ destination y component of the slow axis vector. slowaxis3 Pointer
++ to the destination z component of the slow axis vector. fastaxis1
++ Pointer to the destination x component of the fast axis vector.
++ fastaxis2 Pointer to the destination y component of the fast axis
++ vector. fastaxis3 Pointer to the destination z component of the
++ fast axis vector.
++ RETURN VALUE
++ Returns an error code on failure or 0 for success.
++ ----------------------------------------------------------------------
++
++ """
++ return _pycbf.cbf_detector_struct_get_detector_axis_slow(self)
++
++ def get_detector_distance(self):
++ """
++ Returns : double distance
++ *args :
++
++ C prototype: int cbf_get_detector_distance (cbf_detector detector,
++ double *distance);
++
++ CBFLib documentation:
++ DESCRIPTION
++ cbf_get_detector_distance sets *distance to the nearest distance from
++ the sample position to the detector plane.
++ ARGUMENTS
++ detector Detector handle. distance Pointer to the destination
++ distance.
++ RETURN VALUE
++ Returns an error code on failure or 0 for success.
++ ----------------------------------------------------------------------
++
++ """
++ return _pycbf.cbf_detector_struct_get_detector_distance(self)
++
++ def get_inferred_pixel_size_fs(self, *args):
++ """
++ Returns : Float pixel size
++ *args : Int axis_number
++
++ C prototype: int cbf_get_inferred_pixel_size_fs(cbf_detector detector,
++ int axis_number, double *psize);
++
++ CBFLib documentation:
++ DESCRIPTION
++ cbf_get_inferred_pixel_size, cbf_get_inferred_pixel_size_sf set
++ *psize to point to the double value in millimeters of the pixel size
++ for the axis axis_number value. The slow index is treated as axis 1
++ and the next faster index is treated as axis 2.
++ cbf_get_inferred_pixel_size_fs sets *psize to point to the double
++ value in millimeters of the pixel size for the axis axis_number
++ value. The fast index is treated as axis 1 and the next slower index
++ is treated as axis 2.
++ If the axis number is negative, the axes are used in the reverse
++ order so that an axis_number of -1 indicates the fast axes in a call
++ to cbf_get_inferred_pixel_size or cbf_get_inferred_pixel_size_sf and
++ indicates the fast axis in a call to cbf_get_inferred_pixel_size_fs.
++ ARGUMENTS
++ detector Detector handle. axis_number The number of the axis.
++ area Pointer to the destination pizel size in mm.
++ RETURN VALUE
++ Returns an error code on failure or 0 for success.
++ ----------------------------------------------------------------------
++
++ """
++ return _pycbf.cbf_detector_struct_get_inferred_pixel_size_fs(self, *args)
++
++ def get_detector_normal(self):
++ """
++ Returns : double normal1,double normal2,double normal3
++ *args :
++
++ C prototype: int cbf_get_detector_normal (cbf_detector detector,
++ double *normal1, double *normal2, double *normal3);
++
++ CBFLib documentation:
++ DESCRIPTION
++ cbf_get_detector_normal sets *normal1, *normal2, and *normal3 to the
++ 3 components of the of the normal vector to the detector plane. The
++ vector is normalized.
++ Any of the destination pointers may be NULL.
++ ARGUMENTS
++ detector Detector handle. normal1 Pointer to the destination x
++ component of the normal vector. normal2 Pointer to the destination
++ y component of the normal vector. normal3 Pointer to the
++ destination z component of the normal vector.
++ RETURN VALUE
++ Returns an error code on failure or 0 for success.
++ ----------------------------------------------------------------------
++
++ """
++ return _pycbf.cbf_detector_struct_get_detector_normal(self)
++
++ def get_detector_axis_fast(self):
++ """
++ Returns : double fastaxis1,double fastaxis2,double fastaxis3
++ *args :
++
++ C prototype: int cbf_get_detector_axis_fast (cbf_detector detector,
++ double *fastaxis1, double *fastaxis2, double *fastaxis3);
++
++ CBFLib documentation:
++ DESCRIPTION
++ cbf_get_detector_axis_slow sets *slowaxis1, *slowaxis2, and
++ *slowaxis3 to the 3 components of the slow axis of the specified
++ detector at the current settings of all axes.
++ cbf_get_detector_axis_slow sets *fastaxis1, *fastaxis2, and
++ *fastaxis3 to the 3 components of the fast axis of the specified
++ detector at the current settings of all axes. cbf_get_detector_axes,
++ cbf_get_detector_axes_fs and int cbf_get_detector_axes_sf set
++ *slowaxis1, *slowaxis2, and *slowaxis3 to the 3 components of the
++ slow axis and *fastaxis1, *fastaxis2, and *fastaxis3 to the 3
++ components of the fast axis of the specified detector at the current
++ settings of all axes.
++ Any of the destination pointers may be NULL.
++ ARGUMENTS
++ detector Detector handle. slowaxis1 Pointer to the destination x
++ component of the slow axis vector. slowaxis2 Pointer to the
++ destination y component of the slow axis vector. slowaxis3 Pointer
++ to the destination z component of the slow axis vector. fastaxis1
++ Pointer to the destination x component of the fast axis vector.
++ fastaxis2 Pointer to the destination y component of the fast axis
++ vector. fastaxis3 Pointer to the destination z component of the
++ fast axis vector.
++ RETURN VALUE
++ Returns an error code on failure or 0 for success.
++ ----------------------------------------------------------------------
++
++ """
++ return _pycbf.cbf_detector_struct_get_detector_axis_fast(self)
++
++ def get_detector_axes_fs(self):
++ """get_detector_axes_fs(self)"""
++ return _pycbf.cbf_detector_struct_get_detector_axes_fs(self)
++
++ def get_detector_axes_sf(self):
++ """
++ Returns : double slowaxis1,double slowaxis2,double slowaxis3,double fastaxis1,
++ double fastaxis2,double fastaxis3
++ *args :
++
++ C prototype: int cbf_get_detector_axes_sf (cbf_detector detector,
++ double *slowaxis1, double *slowaxis2, double *slowaxis3,
++ double *fastaxis1, double *fastaxis2, double *fastaxis3);
++
++ CBFLib documentation:
++ DESCRIPTION
++ cbf_get_detector_axis_slow sets *slowaxis1, *slowaxis2, and
++ *slowaxis3 to the 3 components of the slow axis of the specified
++ detector at the current settings of all axes.
++ cbf_get_detector_axis_slow sets *fastaxis1, *fastaxis2, and
++ *fastaxis3 to the 3 components of the fast axis of the specified
++ detector at the current settings of all axes. cbf_get_detector_axes,
++ cbf_get_detector_axes_fs and int cbf_get_detector_axes_sf set
++ *slowaxis1, *slowaxis2, and *slowaxis3 to the 3 components of the
++ slow axis and *fastaxis1, *fastaxis2, and *fastaxis3 to the 3
++ components of the fast axis of the specified detector at the current
++ settings of all axes.
++ Any of the destination pointers may be NULL.
++ ARGUMENTS
++ detector Detector handle. slowaxis1 Pointer to the destination x
++ component of the slow axis vector. slowaxis2 Pointer to the
++ destination y component of the slow axis vector. slowaxis3 Pointer
++ to the destination z component of the slow axis vector. fastaxis1
++ Pointer to the destination x component of the fast axis vector.
++ fastaxis2 Pointer to the destination y component of the fast axis
++ vector. fastaxis3 Pointer to the destination z component of the
++ fast axis vector.
++ RETURN VALUE
++ Returns an error code on failure or 0 for success.
++ ----------------------------------------------------------------------
++
++ """
++ return _pycbf.cbf_detector_struct_get_detector_axes_sf(self)
++
++ def get_pixel_coordinates_sf(self, *args):
++ """
++ Returns : double coordinate1,double coordinate2,double coordinate3
++ *args : double indexslow,double indexfast
++
++ C prototype: int cbf_get_pixel_coordinates_sf (cbf_detector detector,
++ double indexslow, double indexfast, double *coordinate1,
++ double *coordinate2, double *coordinate3);
++
++ CBFLib documentation:
++ DESCRIPTION
++ cbf_get_pixel_coordinates, cbf_get_pixel_coordinates_fs and
++ cbf_get_pixel_coordinates_sf ses *coordinate1, *coordinate2, and
++ *coordinate3 to the vector position of pixel (indexfast, indexslow)
++ on the detector surface. If indexslow and indexfast are integers then
++ the coordinates correspond to the center of a pixel.
++ Any of the destination pointers may be NULL.
++ ARGUMENTS
++ detector Detector handle. indexslow Slow index. indexfast
++ Fast index. coordinate1 Pointer to the destination x component.
++ coordinate2 Pointer to the destination y component. coordinate3
++ Pointer to the destination z component.
++ RETURN VALUE
++ Returns an error code on failure or 0 for success.
++ ----------------------------------------------------------------------
++
++ """
++ return _pycbf.cbf_detector_struct_get_pixel_coordinates_sf(self, *args)
++
++ def set_beam_center(self, *args):
++ """
++ Returns :
++ *args : double indexslow,double indexfast,double centerslow,double centerfast
++
++ C prototype: int cbf_set_beam_center (cbf_detector detector,
++ double *indexslow, double *indexfast, double *centerslow,
++ double *centerfast);
++
++ CBFLib documentation:
++ DESCRIPTION
++ cbf_get_beam_center sets *centerfast and *centerslow to the
++ displacements in mm along the detector axes from pixel (0, 0) to the
++ point at which the beam intersects the detector and *indexfast and
++ *indexslow to the corresponding indices. cbf_set_beam_center sets the
++ offsets in the axis category for the detector element axis with
++ precedence 1 to place the beam center at the position given in mm by
++ *centerfast and *centerslow as the displacements in mm along the
++ detector axes from pixel (0, 0) to the point at which the beam
++ intersects the detector at the indices given *indexfast and
++ *indexslow. cbf_set_reference_beam_center sets the displacments in
++ the array_structure_list_axis category to place the beam center at
++ the position given in mm by *centerfast and *centerslow as the
++ displacements in mm along the detector axes from pixel (0, 0) to the
++ point at which the beam intersects the detector at the indices given
++ by *indexfast and *indexslow. In order to achieve consistent results,
++ a reference detector should be used for detector to have all axes at
++ their reference settings.
++ Note that the precedence 1 axis is the fastest axis, so that
++ *centerfast and *indexfast are the fast axis components of the center
++ and *centerslow and *indexslow are the slow axis components of the
++ center.
++ The _fs calls give the displacments in a fast-to-slow order. The
++ calls with no suffix and the calls _sf calls give the displacements
++ in slow-to-fast order
++ Any of the destination pointers may be NULL for getting the beam
++ center. For setting the beam axis, either the indices of the center
++ must not be NULL.
++ The indices are non-negative for beam centers within the detector
++ surface, but the center for an axis with a negative increment will be
++ negative for a beam center within the detector surface.
++ For cbf_set_beam_center if the diffrn_data_frame category exists with
++ a row for the corresponding element id, the values will be set for
++ _diffrn_data_frame.center_fast and _diffrn_data_frame.center_slow in
++ millimetres and the value of _diffrn_data_frame.center_units will be
++ set to 'mm'.
++ For cbf_set_reference_beam_center if the diffrn_detector_element
++ category exists with a row for the corresponding element id, the
++ values will be set for _diffrn_detector_element.reference_center_fast
++ and _diffrn_detector_element.reference_center_slow in millimetres and
++ the value of _diffrn_detector_element.reference_units will be set to
++ 'mm'.
++ ARGUMENTS
++ detector Detector handle. indexfast Pointer to the destination
++ fast index. indexslow Pointer to the destination slow index.
++ centerfast Pointer to the destination displacement along the fast
++ axis. centerslow Pointer to the destination displacement along the
++ slow axis.
++ RETURN VALUE
++ Returns an error code on failure or 0 for success.
++ ----------------------------------------------------------------------
++
++ """
++ return _pycbf.cbf_detector_struct_set_beam_center(self, *args)
++
++ def get_pixel_area_fs(self, *args):
++ """
++ Returns : double area,double projected_area
++ *args : double indexfast,double indexslow
++
++ C prototype: int cbf_get_pixel_area_fs(cbf_detector detector,
++ double indexfast, double indexslow, double *area,
++ double *projected_area);
++
++ CBFLib documentation:
++ DESCRIPTION
++ cbf_get_pixel_area, cbf_get_pixel_area_fs and cbf_get_pixel_area_sf
++ set *area to the area of the pixel at (indexfast, indexslow) on the
++ detector surface and *projected_area to the apparent area of the
++ pixel as viewed from the sample position, with indexslow being the
++ slow axis and indexfast being the fast axis.
++ Either of the destination pointers may be NULL.
++ ARGUMENTS
++ detector Detector handle. indexfast Fast index.
++ indexslow Slow index. area Pointer to the
++ destination area in mm2. projected_area Pointer to the destination
++ apparent area in mm2.
++ RETURN VALUE
++ Returns an error code on failure or 0 for success.
++ ----------------------------------------------------------------------
++
++ """
++ return _pycbf.cbf_detector_struct_get_pixel_area_fs(self, *args)
++
++ def get_beam_center_fs(self):
++ """
++ Returns : double indexfast,double indexslow,double centerfast,double centerslow
++ *args :
++
++ C prototype: int cbf_get_beam_center_fs (cbf_detector detector,
++ double *indexfast, double *indexslow, double *centerfast,
++ double *centerslow);
++
++ CBFLib documentation:
++ DESCRIPTION
++ cbf_get_beam_center sets *centerfast and *centerslow to the
++ displacements in mm along the detector axes from pixel (0, 0) to the
++ point at which the beam intersects the detector and *indexfast and
++ *indexslow to the corresponding indices. cbf_set_beam_center sets the
++ offsets in the axis category for the detector element axis with
++ precedence 1 to place the beam center at the position given in mm by
++ *centerfast and *centerslow as the displacements in mm along the
++ detector axes from pixel (0, 0) to the point at which the beam
++ intersects the detector at the indices given *indexfast and
++ *indexslow. cbf_set_reference_beam_center sets the displacments in
++ the array_structure_list_axis category to place the beam center at
++ the position given in mm by *centerfast and *centerslow as the
++ displacements in mm along the detector axes from pixel (0, 0) to the
++ point at which the beam intersects the detector at the indices given
++ by *indexfast and *indexslow. In order to achieve consistent results,
++ a reference detector should be used for detector to have all axes at
++ their reference settings.
++ Note that the precedence 1 axis is the fastest axis, so that
++ *centerfast and *indexfast are the fast axis components of the center
++ and *centerslow and *indexslow are the slow axis components of the
++ center.
++ The _fs calls give the displacments in a fast-to-slow order. The
++ calls with no suffix and the calls _sf calls give the displacements
++ in slow-to-fast order
++ Any of the destination pointers may be NULL for getting the beam
++ center. For setting the beam axis, either the indices of the center
++ must not be NULL.
++ The indices are non-negative for beam centers within the detector
++ surface, but the center for an axis with a negative increment will be
++ negative for a beam center within the detector surface.
++ For cbf_set_beam_center if the diffrn_data_frame category exists with
++ a row for the corresponding element id, the values will be set for
++ _diffrn_data_frame.center_fast and _diffrn_data_frame.center_slow in
++ millimetres and the value of _diffrn_data_frame.center_units will be
++ set to 'mm'.
++ For cbf_set_reference_beam_center if the diffrn_detector_element
++ category exists with a row for the corresponding element id, the
++ values will be set for _diffrn_detector_element.reference_center_fast
++ and _diffrn_detector_element.reference_center_slow in millimetres and
++ the value of _diffrn_detector_element.reference_units will be set to
++ 'mm'.
++ ARGUMENTS
++ detector Detector handle. indexfast Pointer to the destination
++ fast index. indexslow Pointer to the destination slow index.
++ centerfast Pointer to the destination displacement along the fast
++ axis. centerslow Pointer to the destination displacement along the
++ slow axis.
++ RETURN VALUE
++ Returns an error code on failure or 0 for success.
++ ----------------------------------------------------------------------
++
++ """
++ return _pycbf.cbf_detector_struct_get_beam_center_fs(self)
++
++ def get_inferred_pixel_size_sf(self, *args):
++ """
++ Returns : Float pixel size
++ *args : Int axis_number
++
++ C prototype: int cbf_get_inferred_pixel_size_sf(cbf_detector detector,
++ int axis_number, double *psize);
++
++ CBFLib documentation:
++ DESCRIPTION
++ cbf_get_inferred_pixel_size, cbf_get_inferred_pixel_size_sf set
++ *psize to point to the double value in millimeters of the pixel size
++ for the axis axis_number value. The slow index is treated as axis 1
++ and the next faster index is treated as axis 2.
++ cbf_get_inferred_pixel_size_fs sets *psize to point to the double
++ value in millimeters of the pixel size for the axis axis_number
++ value. The fast index is treated as axis 1 and the next slower index
++ is treated as axis 2.
++ If the axis number is negative, the axes are used in the reverse
++ order so that an axis_number of -1 indicates the fast axes in a call
++ to cbf_get_inferred_pixel_size or cbf_get_inferred_pixel_size_sf and
++ indicates the fast axis in a call to cbf_get_inferred_pixel_size_fs.
++ ARGUMENTS
++ detector Detector handle. axis_number The number of the axis.
++ area Pointer to the destination pizel size in mm.
++ RETURN VALUE
++ Returns an error code on failure or 0 for success.
++ ----------------------------------------------------------------------
++
++ """
++ return _pycbf.cbf_detector_struct_get_inferred_pixel_size_sf(self, *args)
++
++ def get_pixel_coordinates(self, *args):
++ """
++ Returns : double coordinate1,double coordinate2,double coordinate3
++ *args : double index1,double index2
++
++ C prototype: int cbf_get_pixel_coordinates (cbf_detector detector,
++ double indexslow, double indexfast, double *coordinate1,
++ double *coordinate2, double *coordinate3);
++
++ CBFLib documentation:
++ DESCRIPTION
++ cbf_get_pixel_coordinates, cbf_get_pixel_coordinates_fs and
++ cbf_get_pixel_coordinates_sf ses *coordinate1, *coordinate2, and
++ *coordinate3 to the vector position of pixel (indexfast, indexslow)
++ on the detector surface. If indexslow and indexfast are integers then
++ the coordinates correspond to the center of a pixel.
++ Any of the destination pointers may be NULL.
++ ARGUMENTS
++ detector Detector handle. indexslow Slow index. indexfast
++ Fast index. coordinate1 Pointer to the destination x component.
++ coordinate2 Pointer to the destination y component. coordinate3
++ Pointer to the destination z component.
++ RETURN VALUE
++ Returns an error code on failure or 0 for success.
++ ----------------------------------------------------------------------
++
++ """
++ return _pycbf.cbf_detector_struct_get_pixel_coordinates(self, *args)
++
++ def get_beam_center_sf(self):
++ """
++ Returns : double indexslow,double indexfast,double centerslow,double centerfast
++ *args :
++
++ C prototype: int cbf_get_beam_center_sf (cbf_detector detector,
++ double *indexslow, double *indexfast, double *centerslow,
++ double *centerfast);
++
++ CBFLib documentation:
++ DESCRIPTION
++ cbf_get_beam_center sets *centerfast and *centerslow to the
++ displacements in mm along the detector axes from pixel (0, 0) to the
++ point at which the beam intersects the detector and *indexfast and
++ *indexslow to the corresponding indices. cbf_set_beam_center sets the
++ offsets in the axis category for the detector element axis with
++ precedence 1 to place the beam center at the position given in mm by
++ *centerfast and *centerslow as the displacements in mm along the
++ detector axes from pixel (0, 0) to the point at which the beam
++ intersects the detector at the indices given *indexfast and
++ *indexslow. cbf_set_reference_beam_center sets the displacments in
++ the array_structure_list_axis category to place the beam center at
++ the position given in mm by *centerfast and *centerslow as the
++ displacements in mm along the detector axes from pixel (0, 0) to the
++ point at which the beam intersects the detector at the indices given
++ by *indexfast and *indexslow. In order to achieve consistent results,
++ a reference detector should be used for detector to have all axes at
++ their reference settings.
++ Note that the precedence 1 axis is the fastest axis, so that
++ *centerfast and *indexfast are the fast axis components of the center
++ and *centerslow and *indexslow are the slow axis components of the
++ center.
++ The _fs calls give the displacments in a fast-to-slow order. The
++ calls with no suffix and the calls _sf calls give the displacements
++ in slow-to-fast order
++ Any of the destination pointers may be NULL for getting the beam
++ center. For setting the beam axis, either the indices of the center
++ must not be NULL.
++ The indices are non-negative for beam centers within the detector
++ surface, but the center for an axis with a negative increment will be
++ negative for a beam center within the detector surface.
++ For cbf_set_beam_center if the diffrn_data_frame category exists with
++ a row for the corresponding element id, the values will be set for
++ _diffrn_data_frame.center_fast and _diffrn_data_frame.center_slow in
++ millimetres and the value of _diffrn_data_frame.center_units will be
++ set to 'mm'.
++ For cbf_set_reference_beam_center if the diffrn_detector_element
++ category exists with a row for the corresponding element id, the
++ values will be set for _diffrn_detector_element.reference_center_fast
++ and _diffrn_detector_element.reference_center_slow in millimetres and
++ the value of _diffrn_detector_element.reference_units will be set to
++ 'mm'.
++ ARGUMENTS
++ detector Detector handle. indexfast Pointer to the destination
++ fast index. indexslow Pointer to the destination slow index.
++ centerfast Pointer to the destination displacement along the fast
++ axis. centerslow Pointer to the destination displacement along the
++ slow axis.
++ RETURN VALUE
++ Returns an error code on failure or 0 for success.
++ ----------------------------------------------------------------------
++
++ """
++ return _pycbf.cbf_detector_struct_get_beam_center_sf(self)
++
++ def get_pixel_area_sf(self, *args):
++ """
++ Returns : double area,double projected_area
++ *args : double indexslow,double indexfast
++
++ C prototype: int cbf_get_pixel_area_sf(cbf_detector detector,
++ double indexslow, double indexfast, double *area,
++ double *projected_area);
++
++ CBFLib documentation:
++ DESCRIPTION
++ cbf_get_pixel_area, cbf_get_pixel_area_fs and cbf_get_pixel_area_sf
++ set *area to the area of the pixel at (indexfast, indexslow) on the
++ detector surface and *projected_area to the apparent area of the
++ pixel as viewed from the sample position, with indexslow being the
++ slow axis and indexfast being the fast axis.
++ Either of the destination pointers may be NULL.
++ ARGUMENTS
++ detector Detector handle. indexfast Fast index.
++ indexslow Slow index. area Pointer to the
++ destination area in mm2. projected_area Pointer to the destination
++ apparent area in mm2.
++ RETURN VALUE
++ Returns an error code on failure or 0 for success.
++ ----------------------------------------------------------------------
++
++ """
++ return _pycbf.cbf_detector_struct_get_pixel_area_sf(self, *args)
++
++ def get_beam_center(self):
++ """
++ Returns : double index1,double index2,double center1,double center2
++ *args :
++
++ C prototype: int cbf_get_beam_center (cbf_detector detector,
++ double *indexslow, double *indexfast, double *centerslow,
++ double *centerfast);
++
++ CBFLib documentation:
++ DESCRIPTION
++ cbf_get_beam_center sets *centerfast and *centerslow to the
++ displacements in mm along the detector axes from pixel (0, 0) to the
++ point at which the beam intersects the detector and *indexfast and
++ *indexslow to the corresponding indices. cbf_set_beam_center sets the
++ offsets in the axis category for the detector element axis with
++ precedence 1 to place the beam center at the position given in mm by
++ *centerfast and *centerslow as the displacements in mm along the
++ detector axes from pixel (0, 0) to the point at which the beam
++ intersects the detector at the indices given *indexfast and
++ *indexslow. cbf_set_reference_beam_center sets the displacments in
++ the array_structure_list_axis category to place the beam center at
++ the position given in mm by *centerfast and *centerslow as the
++ displacements in mm along the detector axes from pixel (0, 0) to the
++ point at which the beam intersects the detector at the indices given
++ by *indexfast and *indexslow. In order to achieve consistent results,
++ a reference detector should be used for detector to have all axes at
++ their reference settings.
++ Note that the precedence 1 axis is the fastest axis, so that
++ *centerfast and *indexfast are the fast axis components of the center
++ and *centerslow and *indexslow are the slow axis components of the
++ center.
++ The _fs calls give the displacments in a fast-to-slow order. The
++ calls with no suffix and the calls _sf calls give the displacements
++ in slow-to-fast order
++ Any of the destination pointers may be NULL for getting the beam
++ center. For setting the beam axis, either the indices of the center
++ must not be NULL.
++ The indices are non-negative for beam centers within the detector
++ surface, but the center for an axis with a negative increment will be
++ negative for a beam center within the detector surface.
++ For cbf_set_beam_center if the diffrn_data_frame category exists with
++ a row for the corresponding element id, the values will be set for
++ _diffrn_data_frame.center_fast and _diffrn_data_frame.center_slow in
++ millimetres and the value of _diffrn_data_frame.center_units will be
++ set to 'mm'.
++ For cbf_set_reference_beam_center if the diffrn_detector_element
++ category exists with a row for the corresponding element id, the
++ values will be set for _diffrn_detector_element.reference_center_fast
++ and _diffrn_detector_element.reference_center_slow in millimetres and
++ the value of _diffrn_detector_element.reference_units will be set to
++ 'mm'.
++ ARGUMENTS
++ detector Detector handle. indexfast Pointer to the destination
++ fast index. indexslow Pointer to the destination slow index.
++ centerfast Pointer to the destination displacement along the fast
++ axis. centerslow Pointer to the destination displacement along the
++ slow axis.
++ RETURN VALUE
++ Returns an error code on failure or 0 for success.
++ ----------------------------------------------------------------------
++
++ """
++ return _pycbf.cbf_detector_struct_get_beam_center(self)
++
++ def set_reference_beam_center_sf(self):
++ """
++ Returns :
++ *args : double indexslow,double indexfast,double centerslow,double centerfast
++
++ C prototype: int cbf_set_reference_beam_center_sf (cbf_detector detector,
++ double *indexslow, double *indexfast, double *centerslow,
++ double *centerfast);
++
++ CBFLib documentation:
++ DESCRIPTION
++ cbf_get_beam_center sets *centerfast and *centerslow to the
++ displacements in mm along the detector axes from pixel (0, 0) to the
++ point at which the beam intersects the detector and *indexfast and
++ *indexslow to the corresponding indices. cbf_set_beam_center sets the
++ offsets in the axis category for the detector element axis with
++ precedence 1 to place the beam center at the position given in mm by
++ *centerfast and *centerslow as the displacements in mm along the
++ detector axes from pixel (0, 0) to the point at which the beam
++ intersects the detector at the indices given *indexfast and
++ *indexslow. cbf_set_reference_beam_center sets the displacments in
++ the array_structure_list_axis category to place the beam center at
++ the position given in mm by *centerfast and *centerslow as the
++ displacements in mm along the detector axes from pixel (0, 0) to the
++ point at which the beam intersects the detector at the indices given
++ by *indexfast and *indexslow. In order to achieve consistent results,
++ a reference detector should be used for detector to have all axes at
++ their reference settings.
++ Note that the precedence 1 axis is the fastest axis, so that
++ *centerfast and *indexfast are the fast axis components of the center
++ and *centerslow and *indexslow are the slow axis components of the
++ center.
++ The _fs calls give the displacments in a fast-to-slow order. The
++ calls with no suffix and the calls _sf calls give the displacements
++ in slow-to-fast order
++ Any of the destination pointers may be NULL for getting the beam
++ center. For setting the beam axis, either the indices of the center
++ must not be NULL.
++ The indices are non-negative for beam centers within the detector
++ surface, but the center for an axis with a negative increment will be
++ negative for a beam center within the detector surface.
++ For cbf_set_beam_center if the diffrn_data_frame category exists with
++ a row for the corresponding element id, the values will be set for
++ _diffrn_data_frame.center_fast and _diffrn_data_frame.center_slow in
++ millimetres and the value of _diffrn_data_frame.center_units will be
++ set to 'mm'.
++ For cbf_set_reference_beam_center if the diffrn_detector_element
++ category exists with a row for the corresponding element id, the
++ values will be set for _diffrn_detector_element.reference_center_fast
++ and _diffrn_detector_element.reference_center_slow in millimetres and
++ the value of _diffrn_detector_element.reference_units will be set to
++ 'mm'.
++ ARGUMENTS
++ detector Detector handle. indexfast Pointer to the destination
++ fast index. indexslow Pointer to the destination slow index.
++ centerfast Pointer to the destination displacement along the fast
++ axis. centerslow Pointer to the destination displacement along the
++ slow axis.
++ RETURN VALUE
++ Returns an error code on failure or 0 for success.
++ ----------------------------------------------------------------------
++
++ """
++ return _pycbf.cbf_detector_struct_set_reference_beam_center_sf(self)
++
++ def set_beam_center_sf(self):
++ """
++ Returns :
++ *args : double indexslow,double indexfast,double centerslow,double centerfast
++
++ C prototype: int cbf_set_beam_center_sf (cbf_detector detector,
++ double *indexslow, double *indexfast, double *centerslow,
++ double *centerfast);
++
++ CBFLib documentation:
++ DESCRIPTION
++ cbf_get_beam_center sets *centerfast and *centerslow to the
++ displacements in mm along the detector axes from pixel (0, 0) to the
++ point at which the beam intersects the detector and *indexfast and
++ *indexslow to the corresponding indices. cbf_set_beam_center sets the
++ offsets in the axis category for the detector element axis with
++ precedence 1 to place the beam center at the position given in mm by
++ *centerfast and *centerslow as the displacements in mm along the
++ detector axes from pixel (0, 0) to the point at which the beam
++ intersects the detector at the indices given *indexfast and
++ *indexslow. cbf_set_reference_beam_center sets the displacments in
++ the array_structure_list_axis category to place the beam center at
++ the position given in mm by *centerfast and *centerslow as the
++ displacements in mm along the detector axes from pixel (0, 0) to the
++ point at which the beam intersects the detector at the indices given
++ by *indexfast and *indexslow. In order to achieve consistent results,
++ a reference detector should be used for detector to have all axes at
++ their reference settings.
++ Note that the precedence 1 axis is the fastest axis, so that
++ *centerfast and *indexfast are the fast axis components of the center
++ and *centerslow and *indexslow are the slow axis components of the
++ center.
++ The _fs calls give the displacments in a fast-to-slow order. The
++ calls with no suffix and the calls _sf calls give the displacements
++ in slow-to-fast order
++ Any of the destination pointers may be NULL for getting the beam
++ center. For setting the beam axis, either the indices of the center
++ must not be NULL.
++ The indices are non-negative for beam centers within the detector
++ surface, but the center for an axis with a negative increment will be
++ negative for a beam center within the detector surface.
++ For cbf_set_beam_center if the diffrn_data_frame category exists with
++ a row for the corresponding element id, the values will be set for
++ _diffrn_data_frame.center_fast and _diffrn_data_frame.center_slow in
++ millimetres and the value of _diffrn_data_frame.center_units will be
++ set to 'mm'.
++ For cbf_set_reference_beam_center if the diffrn_detector_element
++ category exists with a row for the corresponding element id, the
++ values will be set for _diffrn_detector_element.reference_center_fast
++ and _diffrn_detector_element.reference_center_slow in millimetres and
++ the value of _diffrn_detector_element.reference_units will be set to
++ 'mm'.
++ ARGUMENTS
++ detector Detector handle. indexfast Pointer to the destination
++ fast index. indexslow Pointer to the destination slow index.
++ centerfast Pointer to the destination displacement along the fast
++ axis. centerslow Pointer to the destination displacement along the
++ slow axis.
++ RETURN VALUE
++ Returns an error code on failure or 0 for success.
++ ----------------------------------------------------------------------
++
++ """
++ return _pycbf.cbf_detector_struct_set_beam_center_sf(self)
++
++ def get_pixel_normal(self, *args):
++ """
++ Returns : double normal1,double normal2,double normal3
++ *args : double index1,double index2
++
++ C prototype: int cbf_get_pixel_normal (cbf_detector detector,
++ double indexslow, double indexfast, double *normal1,
++ double *normal2, double *normal3);
++
++ CBFLib documentation:
++ DESCRIPTION
++ cbf_get_detector_normal, cbf_get_pixel_normal_fs and
++ cbf_get_pixel_normal_sf set *normal1, *normal2, and *normal3 to the 3
++ components of the of the normal vector to the pixel at (indexfast,
++ indexslow). The vector is normalized.
++ Any of the destination pointers may be NULL.
++ ARGUMENTS
++ detector Detector handle. indexslow Slow index. indexfast Fast
++ index. normal1 Pointer to the destination x component of the
++ normal vector. normal2 Pointer to the destination y component of
++ the normal vector. normal3 Pointer to the destination z component
++ of the normal vector.
++ RETURN VALUE
++ Returns an error code on failure or 0 for success.
++ ----------------------------------------------------------------------
++
++ """
++ return _pycbf.cbf_detector_struct_get_pixel_normal(self, *args)
++
++cbf_detector_struct_swigregister = _pycbf.cbf_detector_struct_swigregister
++cbf_detector_struct_swigregister(cbf_detector_struct)
++
++CBF_UNDEFNODE = _pycbf.CBF_UNDEFNODE
++CBF_LINK = _pycbf.CBF_LINK
++CBF_ROOT = _pycbf.CBF_ROOT
++CBF_DATABLOCK = _pycbf.CBF_DATABLOCK
++CBF_SAVEFRAME = _pycbf.CBF_SAVEFRAME
++CBF_CATEGORY = _pycbf.CBF_CATEGORY
++CBF_COLUMN = _pycbf.CBF_COLUMN
++class cbf_handle_struct(_object):
++ """Proxy of C cbf_handle_struct struct"""
++ __swig_setmethods__ = {}
++ __setattr__ = lambda self, name, value: _swig_setattr(self, cbf_handle_struct, name, value)
++ __swig_getmethods__ = {}
++ __getattr__ = lambda self, name: _swig_getattr(self, cbf_handle_struct, name)
++ __repr__ = _swig_repr
++ __swig_setmethods__["node"] = _pycbf.cbf_handle_struct_node_set
++ __swig_getmethods__["node"] = _pycbf.cbf_handle_struct_node_get
++ if _newclass:node = _swig_property(_pycbf.cbf_handle_struct_node_get, _pycbf.cbf_handle_struct_node_set)
++ __swig_setmethods__["row"] = _pycbf.cbf_handle_struct_row_set
++ __swig_getmethods__["row"] = _pycbf.cbf_handle_struct_row_get
++ if _newclass:row = _swig_property(_pycbf.cbf_handle_struct_row_get, _pycbf.cbf_handle_struct_row_set)
++ __swig_setmethods__["search_row"] = _pycbf.cbf_handle_struct_search_row_set
++ __swig_getmethods__["search_row"] = _pycbf.cbf_handle_struct_search_row_get
++ if _newclass:search_row = _swig_property(_pycbf.cbf_handle_struct_search_row_get, _pycbf.cbf_handle_struct_search_row_set)
++ def __init__(self):
++ """__init__(self) -> cbf_handle_struct"""
++ this = _pycbf.new_cbf_handle_struct()
++ try: self.this.append(this)
++ except: self.this = this
++ __swig_destroy__ = _pycbf.delete_cbf_handle_struct
++ __del__ = lambda self : None;
++ def select_datablock(self, *args):
++ """
++ Returns :
++ *args : Integer
++
++ C prototype: int cbf_select_datablock (cbf_handle handle,
++ unsigned int datablock);
++
++ CBFLib documentation:
++ DESCRIPTION
++ cbf_select_datablock selects data block number datablock as the
++ current data block.
++ The first data block is number 0.
++ If the data block does not exist, the function returns CBF_NOTFOUND.
++ ARGUMENTS
++ handle CBF handle. datablock Number of the data block to
++ select.
++ RETURN VALUE
++ Returns an error code on failure or 0 for success.
++ SEE ALSO
++
++ """
++ return _pycbf.cbf_handle_struct_select_datablock(self, *args)
++
++ def force_new_datablock(self, *args):
++ """
++ Returns : string
++ *args :
++
++ C prototype: int cbf_force_new_datablock (cbf_handle handle,
++ const char *datablockname);
++
++ CBFLib documentation:
++ DESCRIPTION
++ cbf_force_new_datablock creates a new data block with name
++ datablockname and makes it the current data block. Duplicate data
++ block names are allowed. cbf_force_new_saveframe creates a new savew
++ frame with name saveframename and makes it the current save frame.
++ Duplicate save frame names are allowed.
++ Even if a save frame with this name already exists, a new save frame
++ is created and becomes the current save frame.
++ ARGUMENTS
++ handle CBF handle. datablockname The name of the new data
++ block. saveframename The name of the new save frame.
++ RETURN VALUE
++ Returns an error code on failure or 0 for success.
++ SEE ALSO
++
++ """
++ return _pycbf.cbf_handle_struct_force_new_datablock(self, *args)
++
++ def get_3d_image_fs_as_string(self, *args):
++ """
++ Returns : (Binary)String
++ *args : int element_number,int elsize,int elsign,int ndimfast,int ndimmid,
++ int ndimslow
++
++ C prototype: int cbf_get_3d_image_fs (cbf_handle handle,
++ unsigned int reserved, unsigned int element_number,
++ void *array, size_t elsize, int elsign, size_t ndimfast,
++ size_t ndimmid, size_t ndimslow);
++
++ CBFLib documentation:
++ DESCRIPTION
++ cbf_get_image, cbf_get_image_fs and cbf_get_image_sf read the image
++ array for element number element_number into an array. The array
++ consists of ndimslow *ndimfast elements of elsize bytes each,
++ starting at array. The elements are signed if elsign is non-0 and
++ unsigned otherwise. cbf_get_real_image, cbf_get_real_image_fs and
++ cbf_get_real_image_sf read the image array of IEEE doubles or floats
++ for element number element_number into an array. A real array is
++ always signed. cbf_get_3d_image, cbf_get_3d_image_fs and
++ cbf_get_3d_image_sf read the 3D image array for element number
++ element_number into an array. The array consists of ndimslow *ndimmid
++ *ndimfast elements of elsize bytes each, starting at array. The
++ elements are signed if elsign is non-0 and unsigned otherwise.
++ cbf_get_real_3d_image, cbf_get_real_3d_image_fs,
++ cbf_get_real_3d_image_sf reads the 3D image array of IEEE doubles or
++ floats for element number element_number into an array. A real array
++ is always signed.
++ The _fs calls give the dimensions in a fast-to-slow order. The calls
++ with no suffix and the calls _sf calls give the dimensions in
++ slow-to-fast order
++ The structure of the array as a 1-, 2- or 3-dimensional array should
++ agree with the structure of the array given in the
++ ARRAY_STRUCTURE_LIST category. If the array is 1-dimensional,
++ ndimslow should be the array size and ndimfast and, for the 3D calls,
++ ndimmid, should be set to 1 both in the call and in the imgCIF data
++ being processed. If the array is 2-dimensional and a 3D call is used,
++ ndimslow and ndimmid should be the
++
++ """
++ return _pycbf.cbf_handle_struct_get_3d_image_fs_as_string(self, *args)
++
++ def reset_datablocks(self, *args):
++ """
++ Returns :
++ *args :
++
++ C prototype: int cbf_reset_datablocks (cbf_handle handle);
++
++ CBFLib documentation:
++ DESCRIPTION
++ cbf_reset_datablocks deletes all categories from all data blocks.
++ The current data block does not change.
++ ARGUMENTS
++ handle CBF handle.
++ RETURN VALUE
++ Returns an error code on failure or 0 for success.
++ SEE ALSO
++
++ """
++ return _pycbf.cbf_handle_struct_reset_datablocks(self, *args)
++
++ def set_tag_category(self, *args):
++ """
++ Returns :
++ *args : String tagname,String categoryname_in
++
++ C prototype: int cbf_set_tag_category (cbf_handle handle, const char* tagname,
++ const char* categoryname_in);
++
++ CBFLib documentation:
++ DESCRIPTION
++ cbf_find_tag_category sets categoryname to the category associated
++ with tagname in the dictionary associated with handle.
++ cbf_set_tag_category upddates the dictionary associated with handle
++ to indicated that tagname is in category categoryname_in.
++ ARGUMENTS
++ handle CBF handle. tagname tag name.
++ categoryname pointer to a returned category name.
++ categoryname_in input category name.
++ RETURN VALUE
++ Returns an error code on failure or 0 for success.
++ ----------------------------------------------------------------------
++
++ """
++ return _pycbf.cbf_handle_struct_set_tag_category(self, *args)
++
++ def require_tag_root(self, *args):
++ """
++ Returns : String tagroot
++ *args : String tagname
++
++ C prototype: int cbf_require_tag_root (cbf_handle handle, const char* tagname,
++ const char** tagroot);
++
++ CBFLib documentation:
++ DESCRIPTION
++ cbf_find_tag_root sets *tagroot to the root tag of which tagname is
++ an alias. cbf_set_tag_root sets tagname as an alias of tagroot_in in
++ the dictionary associated with handle, creating the dictionary if
++ necessary. cbf_require_tag_root sets *tagroot to the root tag of
++ which tagname is an alias, if there is one, or to the value of
++ tagname, if tagname is not an alias.
++ A returned tagroot string must not be modified in any way.
++ ARGUMENTS
++ handle CBF handle. tagname tag name which may be an alias.
++ tagroot pointer to a returned tag root name. tagroot_in input
++ tag root name.
++ RETURN VALUE
++ Returns an error code on failure or 0 for success.
++ ----------------------------------------------------------------------
++
++ """
++ return _pycbf.cbf_handle_struct_require_tag_root(self, *args)
++
++ def row_number(self, *args):
++ """
++ Returns : Integer
++ *args :
++
++ C prototype: int cbf_row_number (cbf_handle handle, unsigned int *row);
++
++ CBFLib documentation:
++ DESCRIPTION
++ cbf_row_number sets *row to the number of the current row of the
++ current category.
++ ARGUMENTS
++ handle CBF handle. row Pointer to the destination row number.
++ RETURN VALUE
++ Returns an error code on failure or 0 for success.
++ SEE ALSO
++
++ """
++ return _pycbf.cbf_handle_struct_row_number(self, *args)
++
++ def set_image(self, *args):
++ """
++ Returns :
++ *args : int element_number,int compression,(binary) String data,int elsize,
++ int elsign,int dimslow,int dimfast
++
++ C prototype: int cbf_set_image (cbf_handle handle, unsigned int reserved,
++ unsigned int element_number, unsigned int compression,
++ void *array, size_t elsize, int elsign, size_t ndimslow,
++ size_t ndimfast);
++
++ CBFLib documentation:
++ DESCRIPTION
++ cbf_set_image, cbf_set_image_fs and cbf_set_image_sf write the image
++ array for element number element_number. The array consists of
++ ndimfast *ndimslow elements of elsize bytes each, starting at array.
++ The elements are signed if elsign is non-zero and unsigned otherwise.
++ cbf_set_real_image, cbf_set_real_image_fs and cbf_set_real_image_sf
++ write the image array for element number element_number. The array
++ consists of ndimfast *ndimslow IEEE double or float elements of
++ elsize bytes each, starting at array. cbf_set_3d_image,
++ cbf_set_3d_image_fs and cbf_set_3d_image_sf write the 3D image array
++ for element number element_number. The array consists of ndimfast
++ *ndimmid *ndimslow elements of elsize bytes each, starting at array.
++ The elements are signed if elsign is non-0 and unsigned otherwise.
++ cbf_set_real_3d_image, cbf_set_real_3d_image_fs and
++ cbf_set_real_3d_image_sf writes the 3D image array for element number
++ element_number. The array consists of ndimfast *ndimmid *ndimslow
++ IEEE double or float elements of elsize bytes each, starting at
++ array.
++ The _fs calls give the dimensions in a fast-to-slow order. The calls
++ with no suffix and the calls _sf calls give the dimensions in
++ slow-to-fast order
++ If the array is 1-dimensional, ndimslow should be the array size and
++ ndimfast and, for the 3D calls, ndimmid, should be set to 1. If the
++ array is 2-dimensional and the 3D calls are used, ndimslow and
++ ndimmid should be used for the array dimensions and ndimfast should
++ be set to 1.
++ The array will be compressed using the compression scheme specifed by
++ compression. Currently, the available schemes are:
++ CBF_CANONICAL Canonical-code compression (section 3.3.1) CBF_PACKED
++ CCP4-style packing (section 3.3.2) CBF_PACKED_V2 CCP4-style
++ packing, version 2 (section 3.3.2) CBF_BYTE_OFFSET Simple
++ "byte_offset " compression. CBF_NONE No compression.
++ The values compressed are limited to 64 bits. If any element in the
++ array is larger than 64 bits, the value compressed is the nearest
++ 64-bit value.
++ Currently, the source array must consist of chars, shorts or ints
++ (signed or unsigned)for cbf_set_image, or IEEE doubles or floats for
++ cbf_set_real_image. If elsize is not equal to sizeof (short), sizeof
++ (int), sizeof(double) or sizeof(float), the function returns
++ CBF_ARGUMENT.
++ The parameter reserved is presently unused and should be set to 0.
++ ARGUMENTS
++ handle CBF handle. reserved Unused. Any value other
++ than 0 is invalid. element_number The number of the detector
++ element counting from 0 by order of appearance in the
++ "diffrn_data_frame " category. compression Compression type.
++ array Pointer to the image array. elsize Size in
++ bytes of each image array element. elsigned Set to non-0 if
++ the image array elements are signed. ndimslow Slowest array
++ dimension. ndimmid Second slowest array dimension. ndimfast
++ Fastest array dimension.
++ RETURN VALUE
++ Returns an error code on failure or 0 for success.
++ ----------------------------------------------------------------------
++
++ """
++ return _pycbf.cbf_handle_struct_set_image(self, *args)
++
++ def set_bin_sizes(self, *args):
++ """
++ Returns :
++ *args : Integer element_number,Float slowbinsize_in,Float fastbinsize_in
++
++ C prototype: int cbf_set_bin_sizes(cbf_handle handle,
++ unsigned int element_number, double slowbinsize_in,
++ double fastbinsize_in);
++
++ CBFLib documentation:
++ DESCRIPTION
++ cbf_get_bin_sizes sets slowbinsize to point to the value of the
++ number of pixels composing one array element in the dimension that
++ changes at the second-fastest rate and fastbinsize to point to the
++ value of the number of pixels composing one array element in the
++ dimension that changes at the fastest rate for the dectector element
++ with the ordinal element_number. cbf_set_bin_sizes sets the the pixel
++ bin sizes in the "array_intensities " category to the values of
++ slowbinsize_in for the number of pixels composing one array element
++ in the dimension that changes at the second-fastest rate and
++ fastbinsize_in for the number of pixels composing one array element
++ in the dimension that changes at the fastest rate for the dectector
++ element with the ordinal element_number.
++ In order to allow for software binning involving fractions of pixels,
++ the bin sizes are doubles rather than ints.
++ ARGUMENTS
++ handle CBF handle. element_number The number of the
++ detector element counting from 0 by order of appearance in the
++ "diffrn_data_frame " category. slowbinsize Pointer to the
++ returned number of pixels composing one array element in the
++ dimension that changes at the second-fastest rate. fastbinsize
++ Pointer to the returned number of pixels composing one array element
++ in the dimension that changes at the fastest rate. slowbinsize_in
++ The number of pixels composing one array element in the dimension
++ that changes at the second-fastest rate. fastbinsize_in The number
++ of pixels composing one array element in the dimension that changes
++ at the fastest rate.
++ RETURN VALUE
++ Returns an error code on failure or 0 for success.
++ ----------------------------------------------------------------------
++
++ """
++ return _pycbf.cbf_handle_struct_set_bin_sizes(self, *args)
++
++ def new_row(self, *args):
++ """
++ Returns :
++ *args :
++
++ C prototype: int cbf_new_row (cbf_handle handle);
++
++ CBFLib documentation:
++ DESCRIPTION
++ cbf_new_row adds a new row to the current category and makes it the
++ current row.
++ ARGUMENTS
++ handle CBF handle.
++ RETURN VALUE
++ Returns an error code on failure or 0 for success.
++ SEE ALSO
++
++ """
++ return _pycbf.cbf_handle_struct_new_row(self, *args)
++
++ def rewind_saveframe(self, *args):
++ """
++ Returns :
++ *args :
++
++ C prototype: int cbf_rewind_saveframe (cbf_handle handle);
++
++ CBFLib documentation:
++ DESCRIPTION
++ cbf_rewind_category makes the first category in the current data
++ block the current category. cbf_rewind_saveframe makes the first
++ saveframe in the current data block the current saveframe.
++ cbf_rewind_blockitem makes the first blockitem (category or
++ saveframe) in the current data block the current blockitem. The type
++ of the blockitem (CBF_CATEGORY or CBF_SAVEFRAME) is returned in type.
++ If there are no categories, saveframes or blockitems the function
++ returns CBF_NOTFOUND.
++ The current column and row become undefined.
++ ARGUMENTS
++ handle CBF handle. type CBF handle.
++ RETURN VALUE
++ Returns an error code on failure or 0 for success.
++ SEE ALSO
++
++ """
++ return _pycbf.cbf_handle_struct_rewind_saveframe(self, *args)
++
++ def get_realarrayparameters(self):
++ """
++ Returns : int compression,int binary_id,int elsize,int elements
++ *args :
++
++ C prototype: int cbf_get_realarrayparameters (cbf_handle handle,
++ unsigned int *compression, int *binary_id, size_t *elsize,
++ size_t *elements);
++
++ CBFLib documentation:
++ DESCRIPTION
++ cbf_get_integerarrayparameters sets *compression, *binary_id,
++ *elsize, *elsigned, *elunsigned, *elements, *minelement and
++ *maxelement to values read from the binary value of the item at the
++ current column and row. This provides all the arguments needed for a
++ subsequent call to cbf_set_integerarray, if a copy of the array is to
++ be made into another CIF or CBF. cbf_get_realarrayparameters sets
++ *compression, *binary_id, *elsize, *elements to values read from the
++ binary value of the item at the current column and row. This provides
++ all the arguments needed for a subsequent call to cbf_set_realarray,
++ if a copy of the arry is to be made into another CIF or CBF.
++ The variants cbf_get_integerarrayparameters_wdims,
++ cbf_get_integerarrayparameters_wdims_fs,
++ cbf_get_integerarrayparameters_wdims_sf,
++ cbf_get_realarrayparameters_wdims,
++ cbf_get_realarrayparameters_wdims_fs,
++ cbf_get_realarrayparameters_wdims_sf set **byteorder, *dimfast,
++ *dimmid, *dimslow, and *padding as well, providing the additional
++ parameters needed for a subsequent call to cbf_set_integerarray_wdims
++ or cbf_set_realarray_wdims.
++ The value returned in *byteorder is a pointer either to the string
++ "little_endian " or to the string "big_endian ". This should be
++ the byte order of the data, not necessarily of the host machine. No
++ attempt should be made to modify this string. At this time only
++ "little_endian " will be returned.
++ The values returned in *dimfast, *dimmid and *dimslow are the sizes
++ of the fastest changing, second fastest changing and third fastest
++ changing dimensions of the array, if specified, or zero, if not
++ specified.
++ The value returned in *padding is the size of the post-data padding,
++ if any and if specified in the data header. The value is given as a
++ count of octets.
++ If the value is not binary, the function returns CBF_ASCII.
++ ARGUMENTS
++ handle CBF handle. compression Compression method used.
++ elsize Size in bytes of each array element. binary_id
++ Pointer to the destination integer binary identifier. elsigned
++ Pointer to an integer. Set to 1 if the elements can be read as signed
++ integers. elunsigned Pointer to an integer. Set to 1 if the
++ elements can be read as unsigned integers. elements Pointer to
++ the destination number of elements. minelement Pointer to the
++ destination smallest element. maxelement Pointer to the
++ destination largest element. byteorder Pointer to the destination
++ byte order. dimfast Pointer to the destination fastest
++ dimension. dimmid Pointer to the destination second fastest
++ dimension. dimslow Pointer to the destination third fastest
++ dimension. padding Pointer to the destination padding size.
++ RETURN VALUE
++ Returns an error code on failure or 0 for success.
++ SEE ALSO
++
++ """
++ return _pycbf.cbf_handle_struct_get_realarrayparameters(self)
++
++ def get_pixel_size_sf(self, *args):
++ """
++ Returns : Float pixel_size
++ *args : Int element_number,Int axis_number
++
++ C prototype: int cbf_get_pixel_size_sf(cbf_handle handle,
++ unsigned int element_number, int axis_number,
++ double *psize);
++
++ CBFLib documentation:
++ DESCRIPTION
++ cbf_get_pixel_size and cbf_get_pixel_size_sf set *psize to point to
++ the double value in millimeters of the axis axis_number of the
++ detector element element_number. The axis_number is numbered from 1,
++ starting with the slowest axis. cbf_get_pixel_size_fs sets *psize to
++ point to the double value in millimeters of the axis axis_number of
++ the detector element element_number. The axis_number is numbered from
++ 1, starting with the fastest axis.
++ If a negative axis number is given, the order of axes is reversed, so
++ that -1 specifies the slowest axis for cbf_get_pixel_size_fs and the
++ fastest axis for cbf_get_pixel_size_sf.
++ If the pixel size is not given explcitly in the "array_element_size
++ " category, the function returns CBF_NOTFOUND.
++ ARGUMENTS
++ handle CBF handle. element_number The number of the
++ detector element counting from 0 by order of appearance in the
++ "diffrn_data_frame " category. axis_number The number of the
++ axis, starting from 1 for the fastest for cbf_get_pixel_size and
++ cbf_get_pixel_size_fs and the slowest for cbf_get_pixel_size_sf.
++ psize Pointer to the destination pixel size.
++ RETURN VALUE
++ Returns an error code on failure or 0 for success.
++ ----------------------------------------------------------------------
++
++ """
++ return _pycbf.cbf_handle_struct_get_pixel_size_sf(self, *args)
++
++ def force_new_category(self, *args):
++ """
++ Returns : string
++ *args :
++
++ C prototype: int cbf_force_new_category (cbf_handle handle,
++ const char *categoryname);
++
++ CBFLib documentation:
++ DESCRIPTION
++ cbf_force_new_category creates a new category in the current data
++ block with name categoryname and makes it the current category.
++ Duplicate category names are allowed.
++ Even if a category with this name already exists, a new category of
++ the same name is created and becomes the current category. The allows
++ for the creation of unlooped tag/value lists drawn from the same
++ category.
++ ARGUMENTS
++ handle CBF handle. categoryname The name of the new
++ category.
++ RETURN VALUE
++ Returns an error code on failure or 0 for success.
++ SEE ALSO
++
++ """
++ return _pycbf.cbf_handle_struct_force_new_category(self, *args)
++
++ def force_new_saveframe(self, *args):
++ """
++ Returns : string
++ *args :
++
++ C prototype: int cbf_force_new_saveframe (cbf_handle handle,
++ const char *saveframename);
++
++ CBFLib documentation:
++ DESCRIPTION
++ cbf_force_new_datablock creates a new data block with name
++ datablockname and makes it the current data block. Duplicate data
++ block names are allowed. cbf_force_new_saveframe creates a new savew
++ frame with name saveframename and makes it the current save frame.
++ Duplicate save frame names are allowed.
++ Even if a save frame with this name already exists, a new save frame
++ is created and becomes the current save frame.
++ ARGUMENTS
++ handle CBF handle. datablockname The name of the new data
++ block. saveframename The name of the new save frame.
++ RETURN VALUE
++ Returns an error code on failure or 0 for success.
++ SEE ALSO
++
++ """
++ return _pycbf.cbf_handle_struct_force_new_saveframe(self, *args)
++
++ def count_datablocks(self, *args):
++ """
++ Returns : Integer
++ *args :
++
++ C prototype: int cbf_count_datablocks (cbf_handle handle,
++ unsigned int *datablocks);
++
++ CBFLib documentation:
++ DESCRIPTION
++ cbf_count_datablocks puts the number of data blocks in *datablocks .
++ ARGUMENTS
++ handle CBF handle. datablocks Pointer to the destination data
++ block count.
++ RETURN VALUE
++ Returns an error code on failure or 0 for success.
++ SEE ALSO
++
++ """
++ return _pycbf.cbf_handle_struct_count_datablocks(self, *args)
++
++ def find_row(self, *args):
++ """
++ Returns : string
++ *args :
++
++ C prototype: int cbf_find_row (cbf_handle handle, const char *value);
++
++ CBFLib documentation:
++ DESCRIPTION
++ cbf_find_row makes the first row in the current column with value
++ value the current row.
++ The comparison is case-sensitive.
++ If a matching row does not exist, the function returns CBF_NOTFOUND.
++ The current column is not affected.
++ ARGUMENTS
++ handle CBF handle. value The value of the row to find.
++ RETURN VALUE
++ Returns an error code on failure or 0 for success.
++ SEE ALSO
++
++ """
++ return _pycbf.cbf_handle_struct_find_row(self, *args)
++
++ def select_column(self, *args):
++ """
++ Returns :
++ *args : Integer
++
++ C prototype: int cbf_select_column (cbf_handle handle, unsigned int column);
++
++ CBFLib documentation:
++ DESCRIPTION
++ cbf_select_column selects column number column in the current
++ category as the current column.
++ The first column is number 0.
++ The current row is not affected
++ If the column does not exist, the function returns CBF_NOTFOUND.
++ ARGUMENTS
++ handle CBF handle. column Number of the column to select.
++ RETURN VALUE
++ Returns an error code on failure or 0 for success.
++ SEE ALSO
++
++ """
++ return _pycbf.cbf_handle_struct_select_column(self, *args)
++
++ def construct_detector(self, *args):
++ """
++ Returns : pycbf detector object
++ *args : Integer element_number
++
++ C prototype: int cbf_construct_detector (cbf_handle handle,
++ cbf_detector *detector, unsigned int element_number);
++
++ CBFLib documentation:
++ DESCRIPTION
++ cbf_construct_detector constructs a detector object for detector
++ element number element_number using the description in the CBF object
++ handle and initialises the detector handle *detector.
++ cbf_construct_reference_detector constructs a detector object for
++ detector element number element_number using the description in the
++ CBF object handle and initialises the detector handle *detector using
++ the reference settings of the axes. cbf_require_reference_detector is
++ similar, but try to force the creations of missing intermediate
++ categories needed to construct a detector object.
++ ARGUMENTS
++ handle CBF handle. detector Pointer to the
++ destination detector handle. element_number The number of the
++ detector element counting from 0 by order of appearance in the
++ "diffrn_data_frame " category.
++ RETURN VALUE
++ Returns an error code on failure or 0 for success.
++ ----------------------------------------------------------------------
++
++ """
++ return _pycbf.cbf_handle_struct_construct_detector(self, *args)
++
++ def rewind_column(self, *args):
++ """
++ Returns :
++ *args :
++
++ C prototype: int cbf_rewind_column (cbf_handle handle);
++
++ CBFLib documentation:
++ DESCRIPTION
++ cbf_rewind_column makes the first column in the current category the
++ current column.
++ If there are no columns, the function returns CBF_NOTFOUND.
++ The current row is not affected.
++ ARGUMENTS
++ handle CBF handle.
++ RETURN VALUE
++ Returns an error code on failure or 0 for success.
++ SEE ALSO
++
++ """
++ return _pycbf.cbf_handle_struct_rewind_column(self, *args)
++
++ def construct_reference_positioner(self, *args):
++ """
++ Returns : pycbf positioner object
++ *args : String axis_id
++
++ C prototype: int cbf_construct_reference_positioner (cbf_handle handle,
++ cbf_positioner *positioner, const char *axis_id);
++
++ CBFLib documentation:
++ DESCRIPTION
++ cbf_construct_positioner constructs a positioner object for the axis
++ given by axis_id using the description in the CBF object handle and
++ initialises the positioner handle *positioner.
++ cbf_construct_reference positioner constructs a positioner object for
++ the axis given by axis_id using the description in the CBF object
++ handle and initialises the detector handle *detector using the
++ reference settings of the axes.
++ ARGUMENTS
++ handle CBF handle. detector Pointer to the destination detector
++ handle. axis_id The identifier of the axis in the "axis "
++ category.
++ RETURN VALUE
++ Returns an error code on failure or 0 for success.
++ ----------------------------------------------------------------------
++
++ """
++ return _pycbf.cbf_handle_struct_construct_reference_positioner(self, *args)
++
++ def require_column_doublevalue(self, *args):
++ """
++ Returns : Float defaultvalue
++ *args : String columnname,Float Value
++
++ C prototype: int cbf_require_column_doublevalue (cbf_handle handle,
++ const char *columnname, double *number,
++ const double defaultvalue);
++
++ CBFLib documentation:
++ DESCRIPTION
++ cbf_require_column_doublevalue sets *number to the value of the ASCII
++ item at the current row for the column given with the name given by
++ *columnname, with the value interpreted as a decimal floating-point
++ number, or to the number given by defaultvalue if the item cannot be
++ found.
++ ARGUMENTS
++ handle CBF handle. columnname Name of the column
++ containing the number. number pointer to the location to
++ receive the floating-point value. defaultvalue Value to use if the
++ requested column and value cannot be found.
++ RETURN VALUE
++ Returns an error code on failure or 0 for success.
++ SEE ALSO
++
++ """
++ return _pycbf.cbf_handle_struct_require_column_doublevalue(self, *args)
++
++ def get_datestamp(self):
++ """
++ Returns : int year,int month,int day,int hour,int minute,double second,
++ int timezone
++ *args :
++
++ C prototype: int cbf_get_datestamp (cbf_handle handle, unsigned int reserved,
++ int *year, int *month, int *day, int *hour, int *minute,
++ double *second, int *timezone);
++
++ CBFLib documentation:
++ DESCRIPTION
++ cbf_get_datestamp sets *year, *month, *day, *hour, *minute and
++ *second to the corresponding values of the collection timestamp.
++ *timezone is set to timezone difference from UTC in minutes. The
++ parameter < i>reserved is presently unused and should be set to 0.
++ Any of the destination pointers may be NULL.
++ ARGUMENTS
++ handle CBF handle. reserved Unused. Any value other than 0 is
++ invalid. year Pointer to the destination timestamp year. month
++ Pointer to the destination timestamp month (1-12). day
++ Pointer to the destination timestamp day (1-31). hour Pointer
++ to the destination timestamp hour (0-23). minute Pointer to the
++ destination timestamp minute (0-59). second Pointer to the
++ destination timestamp second (0-60.0). timezone Pointer to the
++ destination timezone difference from UTC in minutes.
++ RETURN VALUE
++ Returns an error code on failure or 0 for success.
++ ----------------------------------------------------------------------
++
++ """
++ return _pycbf.cbf_handle_struct_get_datestamp(self)
++
++ def get_integervalue(self, *args):
++ """
++ Returns : int
++ *args :
++
++ C prototype: int cbf_get_integervalue (cbf_handle handle, int *number);
++
++ CBFLib documentation:
++ DESCRIPTION
++ cbf_get_integervalue sets *number to the value of the ASCII item at
++ the current column and row interpreted as a decimal integer.
++ cbf_require_integervalue sets *number to the value of the ASCII item
++ at the current column and row interpreted as a decimal integer,
++ setting it to defaultvalue if necessary.
++ If the value is not ASCII, the function returns CBF_BINARY.
++ ARGUMENTS
++ handle CBF handle. number pointer to the number.
++ defaultvalue default number value.
++ RETURN VALUE
++ Returns an error code on failure or 0 for success.
++ SEE ALSO
++
++ """
++ return _pycbf.cbf_handle_struct_get_integervalue(self, *args)
++
++ def get_crystal_id(self, *args):
++ """
++ Returns :
++ *args : string
++
++ C prototype: int cbf_get_crystal_id (cbf_handle handle,
++ const char **crystal_id);
++
++ CBFLib documentation:
++ DESCRIPTION
++ cbf_get_crystal_id sets *crystal_id to point to the ASCII value of
++ the "diffrn.crystal_id " entry.
++ If the value is not ASCII, the function returns CBF_BINARY.
++ The value will be valid as long as the item exists and has not been
++ set to a new value.
++ The value must not be modified by the program in any way.
++ ARGUMENTS
++ handle CBF handle. crystal_id Pointer to the destination
++ value pointer.
++ RETURN VALUE
++ Returns an error code on failure or 0 for success.
++ ----------------------------------------------------------------------
++
++ """
++ return _pycbf.cbf_handle_struct_get_crystal_id(self, *args)
++
++ def get_doublevalue(self, *args):
++ """
++ Returns : double
++ *args :
++
++ C prototype: int cbf_get_doublevalue (cbf_handle handle, double *number);
++
++ CBFLib documentation:
++ DESCRIPTION
++ cbf_get_doublevalue sets *number to the value of the ASCII item at
++ the current column and row interpreted as a decimal floating-point
++ number. cbf_require_doublevalue sets *number to the value of the
++ ASCII item at the current column and row interpreted as a decimal
++ floating-point number, setting it to defaultvalue if necessary.
++ If the value is not ASCII, the function returns CBF_BINARY.
++ ARGUMENTS
++ handle CBF handle. number Pointer to the destination
++ number. defaultvalue default number value.
++ RETURN VALUE
++ Returns an error code on failure or 0 for success.
++ SEE ALSO
++
++ """
++ return _pycbf.cbf_handle_struct_get_doublevalue(self, *args)
++
++ def get_unit_cell(self):
++ """
++ Returns : Float a,Float b,Float c,Float alpha,Float beta,Float gamma
++ *args :
++
++ C prototype: int cbf_get_unit_cell (cbf_handle handle, double cell[6],
++ double cell_esd[6] );
++
++ CBFLib documentation:
++ DESCRIPTION
++ cbf_get_unit_cell sets cell[0:2] to the double values of the cell
++ edge lengths a, b and c in AAngstroms, cell[3:5] to the double values
++ of the cell angles a, b and g in degrees, cell_esd[0:2] to the double
++ values of the estimated strandard deviations of the cell edge lengths
++ a, b and c in AAngstroms, cell_esd[3:5] to the double values of the
++ estimated standard deviations of the the cell angles a, b and g in
++ degrees.
++ The values returned are retrieved from the first row of the "cell
++ " category. The value of "_cell.entry_id " is ignored.
++ cell or cell_esd may be NULL.
++ If cell is NULL, the cell parameters are not retrieved.
++ If cell_esd is NULL, the cell parameter esds are not retrieved.
++ If the "cell " category is present, but some of the values are
++ missing, zeros are returned for the missing values.
++ ARGUMENTS
++ handle CBF handle. cell Pointer to the destination array of
++ 6 doubles for the cell parameters. cell_esd Pointer to the
++ destination array of 6 doubles for the cell parameter esds.
++ RETURN VALUE
++ Returns an error code on failure or 0 for success. No errors is
++ returned for missing values if the "cell " category exists.
++ SEE ALSO
++
++ """
++ return _pycbf.cbf_handle_struct_get_unit_cell(self)
++
++ def get_unit_cell_esd(self):
++ """get_unit_cell_esd(self)"""
++ return _pycbf.cbf_handle_struct_get_unit_cell_esd(self)
++
++ def remove_column(self, *args):
++ """
++ Returns :
++ *args :
++
++ C prototype: int cbf_remove_column (cbf_handle handle);
++
++ CBFLib documentation:
++ DESCRIPTION
++ cbf_remove_column deletes the current column.
++ The current column becomes undefined.
++ ARGUMENTS
++ handle CBF handle.
++ RETURN VALUE
++ Returns an error code on failure or 0 for success.
++ SEE ALSO
++
++ """
++ return _pycbf.cbf_handle_struct_remove_column(self, *args)
++
++ def rewind_blockitem(self, *args):
++ """
++ Returns : CBF_NODETYPE
++ *args :
++
++ C prototype: int cbf_rewind_blockitem (cbf_handle handle,
++ CBF_NODETYPE * type);
++
++ CBFLib documentation:
++ DESCRIPTION
++ cbf_rewind_category makes the first category in the current data
++ block the current category. cbf_rewind_saveframe makes the first
++ saveframe in the current data block the current saveframe.
++ cbf_rewind_blockitem makes the first blockitem (category or
++ saveframe) in the current data block the current blockitem. The type
++ of the blockitem (CBF_CATEGORY or CBF_SAVEFRAME) is returned in type.
++ If there are no categories, saveframes or blockitems the function
++ returns CBF_NOTFOUND.
++ The current column and row become undefined.
++ ARGUMENTS
++ handle CBF handle. type CBF handle.
++ RETURN VALUE
++ Returns an error code on failure or 0 for success.
++ SEE ALSO
++
++ """
++ return _pycbf.cbf_handle_struct_rewind_blockitem(self, *args)
++
++ def get_value(self, *args):
++ """
++ Returns :
++ *args : string
++
++ C prototype: int cbf_get_value (cbf_handle handle, const char **value);
++
++ CBFLib documentation:
++ DESCRIPTION
++ cbf_get_value sets *value to point to the ASCII value of the item at
++ the current column and row. cbf_require_value sets *value to point to
++ the ASCII value of the item at the current column and row, creating
++ the data item if necessary and initializing it to a copy of
++ defaultvalue.
++ If the value is not ASCII, the function returns CBF_BINARY.
++ The value will be valid as long as the item exists and has not been
++ set to a new value.
++ The value must not be modified by the program in any way.
++ ARGUMENTS
++ handle CBF handle. value Pointer to the destination
++ value pointer. defaultvalue Default value character string.
++ RETURN VALUE
++ Returns an error code on failure or 0 for success.
++ SEE ALSO
++
++ """
++ return _pycbf.cbf_handle_struct_get_value(self, *args)
++
++ def count_categories(self, *args):
++ """
++ Returns : Integer
++ *args :
++
++ C prototype: int cbf_count_categories (cbf_handle handle,
++ unsigned int *categories);
++
++ CBFLib documentation:
++ DESCRIPTION
++ cbf_count_categories puts the number of categories in the current
++ data block in *categories.
++ ARGUMENTS
++ handle CBF handle. categories Pointer to the destination
++ category count.
++ RETURN VALUE
++ Returns an error code on failure or 0 for success.
++ SEE ALSO
++
++ """
++ return _pycbf.cbf_handle_struct_count_categories(self, *args)
++
++ def read_widefile(self, *args):
++ """
++ Returns :
++ *args : String filename,Integer headers
++
++ C prototype: int cbf_read_widefile (cbf_handle handle, FILE *file, int flags);
++
++ CBFLib documentation:
++ DESCRIPTION
++ cbf_read_file reads the CBF or CIF file file into the CBF object
++ specified by handle, using the CIF 1.0 convention of 80 character
++ lines. cbf_read_widefile reads the CBF or CIF file file into the CBF
++ object specified by handle, using the CIF 1.1 convention of 2048
++ character lines. A warning is issued to stderr for ascii lines over
++ the limit. No test is performed on binary sections.
++ Validation is performed in three ways levels: during the lexical
++ scan, during the parse, and, if a dictionary was converted, against
++ the value types, value enumerations, categories and parent-child
++ relationships specified in the dictionary.
++ flags controls the interpretation of binary section headers, the
++ parsing of brackets constructs and the parsing of treble-quoted
++ strings.
++ MSG_DIGEST: Instructs CBFlib to check that the digest
++ of the binary section matches any header digest value. If the digests
++ do not match, the call will return CBF_FORMAT. This evaluation and
++ comparison is delayed (a "lazy " evaluation) to ensure maximal
++ processing efficiency. If an immediately evaluation is required, see
++ MSG_DIGESTNOW, below. MSG_DIGESTNOW: Instructs CBFlib to
++ check that the digest of the binary section matches any header
++ digeste value. If the digests do not match, the call will return
++ CBF_FORMAT. This evaluation and comparison is performed during
++ initial parsing of the section to ensure timely error reporting at
++ the expense of processing efficiency. If a more efficient delayed (
++ "lazy ") evaluation is required, see MSG_DIGEST, above.
++ MSG_DIGESTWARN: Instructs CBFlib to check that the digest
++ of the binary section matches any header digeste value. If the
++ digests do not match, a warning message will be sent to stderr, but
++ processing will attempt to continue. This evaluation and comparison
++ is first performed during initial parsing of the section to ensure
++ timely error reporting at the expense of processing efficiency. An
++ mismatch of the message digest usually indicates a serious error, but
++ it is sometimes worth continuing processing to try to isolate the
++ cause of the error. Use this option with caution. MSG_NODIGEST:
++ Do not check the digest (default). PARSE_BRACKETS:
++ Accept DDLm bracket-delimited [item,item,...item] or
++ {item,item,...item} or (item,item,...item) constructs as valid,
++ stripping non-quoted embedded whitespace and comments. These
++ constructs may span multiple lines. PARSE_LIBERAL_BRACKETS: Accept
++ DDLm bracket-delimited [item,item,...item] or {item,item,...item} or
++ (item,item,...item) constructs as valid, stripping embedded
++ non-quoted, non-separating whitespace and comments. These constructs
++ may span multiple lines. In this case, whitespace may be used as an
++ alternative to the comma. PARSE_TRIPLE_QUOTES: Accept DDLm
++ triple-quoted " " "item,item,...item " " " or
++ '''item,item,...item''' constructs as valid, stripping embedded
++ whitespace and comments. These constructs may span multiple lines. If
++ this flag is set, then ''' will not be interpreted as a quoted
++ apoptrophe and " " " will not be interpreted as a quoted double
++ quote mark and PARSE_NOBRACKETS: Do not accept DDLm
++ bracket-delimited [item,item,...item] or {item,item,...item} or
++ (item,item,...item) constructs as valid, stripping non-quoted
++ embedded whitespace and comments. These constructs may span multiple
++ lines. PARSE_NOTRIPLE_QUOTES: No not accept DDLm triple-quoted "
++ " "item,item,...item " " " or '''item,item,...item''' constructs
++ as valid, stripping embedded whitespace and comments. These
++ constructs may span multiple lines. If this flag is set, then '''
++ will be interpreted as a quoted apostrophe and " " " will be
++ interpreted as a quoted double quote mark.
++ CBFlib defers reading binary sections as long as possible. In the
++ current version of CBFlib, this means that:
++ 1. The file must be a random-access file opened in binary mode (fopen
++ ( ,
++
++ """
++ return _pycbf.cbf_handle_struct_read_widefile(self, *args)
++
++ def set_wavelength(self, *args):
++ """
++ Returns : double wavelength
++ *args :
++
++ C prototype: int cbf_set_wavelength (cbf_handle handle, double wavelength);
++
++ CBFLib documentation:
++ DESCRIPTION
++ cbf_set_wavelength sets the current wavelength in AA to wavelength.
++ ARGUMENTS
++ handle CBF handle. wavelength Wavelength in AA.
++ RETURN VALUE
++ Returns an error code on failure or 0 for success.
++ ----------------------------------------------------------------------
++
++ """
++ return _pycbf.cbf_handle_struct_set_wavelength(self, *args)
++
++ def set_pixel_size_sf(self, *args):
++ """
++ Returns :
++ *args : Int element_number,Int axis_number,Float pixel size
++
++ C prototype: int cbf_set_pixel_size_sf(cbf_handle handle,
++ unsigned int element_number, int axis_number,
++ double psize);
++
++ CBFLib documentation:
++ DESCRIPTION
++ cbf_set_pixel_size and cbf_set_pixel_size_sf set the item in the
++ "e;size"e; column of the "array_structure_list " category
++ at the row which matches axis axis_number of the detector element
++ element_number converting the double pixel size psize from meters to
++ millimeters in storing it in the "size " column for the axis
++ axis_number of the detector element element_number. The axis_number
++ is numbered from 1, starting with the slowest axis.
++ cbf_set_pixel_size_fs sets the item
++
++ """
++ return _pycbf.cbf_handle_struct_set_pixel_size_sf(self, *args)
++
++ def get_diffrn_id(self, *args):
++ """
++ Returns :
++ *args : string
++
++ C prototype: int cbf_get_diffrn_id (cbf_handle handle,
++ const char **diffrn_id);
++
++ CBFLib documentation:
++ DESCRIPTION
++ cbf_get_diffrn_id sets *diffrn_id to point to the ASCII value of the
++ "diffrn.id " entry. cbf_require_diffrn_id also sets *diffrn_id to
++ point to the ASCII value of the "diffrn.id " entry, but, if the
++ "diffrn.id " entry does not exist, it sets the value in the CBF and
++ in*diffrn_id to the character string given by default_id, creating
++ the category and column is necessary.
++ The diffrn_id will be valid as long as the item exists and has not
++ been set to a new value.
++ The diffrn_id must not be modified by the program in any way.
++ ARGUMENTS
++ handle CBF handle. diffrn_id Pointer to the destination
++ value pointer. default_id Character string default value.
++ RETURN VALUE
++ Returns an error code on failure or 0 for success.
++ ----------------------------------------------------------------------
++
++ """
++ return _pycbf.cbf_handle_struct_get_diffrn_id(self, *args)
++
++ def find_datablock(self, *args):
++ """
++ Returns : string
++ *args :
++
++ C prototype: int cbf_find_datablock (cbf_handle handle,
++ const char *datablockname);
++
++ CBFLib documentation:
++ DESCRIPTION
++ cbf_find_datablock makes the data block with name datablockname the
++ current data block.
++ The comparison is case-insensitive.
++ If the data block does not exist, the function returns CBF_NOTFOUND.
++ The current category becomes undefined.
++ ARGUMENTS
++ handle CBF handle. datablockname The name of the data
++ block to find.
++ RETURN VALUE
++ Returns an error code on failure or 0 for success.
++ SEE ALSO
++
++ """
++ return _pycbf.cbf_handle_struct_find_datablock(self, *args)
++
++ def get_polarization(self):
++ """
++ Returns : float polarizn_source_ratio,float polarizn_source_norm
++ *args :
++
++ C prototype: int cbf_get_polarization (cbf_handle handle,
++ double *polarizn_source_ratio,
++ double *polarizn_source_norm);
++
++ CBFLib documentation:
++ DESCRIPTION
++ cbf_get_polarization sets *polarizn_source_ratio and
++ *polarizn_source_norm to the corresponding source polarization
++ parameters.
++ Either destination pointer may be NULL.
++ ARGUMENTS
++ handle CBF handle. polarizn_source_ratio Pointer
++ to the destination polarizn_source_ratio. polarizn_source_norm
++ Pointer to the destination polarizn_source_norm.
++ RETURN VALUE
++ Returns an error code on failure or 0 for success.
++ ----------------------------------------------------------------------
++
++ """
++ return _pycbf.cbf_handle_struct_get_polarization(self)
++
++ def select_category(self, *args):
++ """
++ Returns :
++ *args : Integer
++
++ C prototype: int cbf_select_category (cbf_handle handle,
++ unsigned int category);
++
++ CBFLib documentation:
++ DESCRIPTION
++ cbf_select_category selects category number category in the current
++ data block as the current category.
++ The first category is number 0.
++ The current column and row become undefined.
++ If the category does not exist, the function returns CBF_NOTFOUND.
++ ARGUMENTS
++ handle CBF handle. category Number of the category to select.
++ RETURN VALUE
++ Returns an error code on failure or 0 for success.
++ SEE ALSO
++
++ """
++ return _pycbf.cbf_handle_struct_select_category(self, *args)
++
++ def get_pixel_size_fs(self, *args):
++ """
++ Returns : Float pixel_size
++ *args : Int element_number,Int axis_number
++
++ C prototype: int cbf_get_pixel_size_fs(cbf_handle handle,
++ unsigned int element_number, int axis_number,
++ double *psize);
++
++ CBFLib documentation:
++ DESCRIPTION
++ cbf_get_pixel_size and cbf_get_pixel_size_sf set *psize to point to
++ the double value in millimeters of the axis axis_number of the
++ detector element element_number. The axis_number is numbered from 1,
++ starting with the slowest axis. cbf_get_pixel_size_fs sets *psize to
++ point to the double value in millimeters of the axis axis_number of
++ the detector element element_number. The axis_number is numbered from
++ 1, starting with the fastest axis.
++ If a negative axis number is given, the order of axes is reversed, so
++ that -1 specifies the slowest axis for cbf_get_pixel_size_fs and the
++ fastest axis for cbf_get_pixel_size_sf.
++ If the pixel size is not given explcitly in the "array_element_size
++ " category, the function returns CBF_NOTFOUND.
++ ARGUMENTS
++ handle CBF handle. element_number The number of the
++ detector element counting from 0 by order of appearance in the
++ "diffrn_data_frame " category. axis_number The number of the
++ axis, starting from 1 for the fastest for cbf_get_pixel_size and
++ cbf_get_pixel_size_fs and the slowest for cbf_get_pixel_size_sf.
++ psize Pointer to the destination pixel size.
++ RETURN VALUE
++ Returns an error code on failure or 0 for success.
++ ----------------------------------------------------------------------
++
++ """
++ return _pycbf.cbf_handle_struct_get_pixel_size_fs(self, *args)
++
++ def read_file(self, *args):
++ """
++ Returns :
++ *args : String filename,Integer headers
++
++ C prototype: int cbf_read_file (cbf_handle handle, FILE *file, int flags);
++
++ CBFLib documentation:
++ DESCRIPTION
++ cbf_read_file reads the CBF or CIF file file into the CBF object
++ specified by handle, using the CIF 1.0 convention of 80 character
++ lines. cbf_read_widefile reads the CBF or CIF file file into the CBF
++ object specified by handle, using the CIF 1.1 convention of 2048
++ character lines. A warning is issued to stderr for ascii lines over
++ the limit. No test is performed on binary sections.
++ Validation is performed in three ways levels: during the lexical
++ scan, during the parse, and, if a dictionary was converted, against
++ the value types, value enumerations, categories and parent-child
++ relationships specified in the dictionary.
++ flags controls the interpretation of binary section headers, the
++ parsing of brackets constructs and the parsing of treble-quoted
++ strings.
++ MSG_DIGEST: Instructs CBFlib to check that the digest
++ of the binary section matches any header digest value. If the digests
++ do not match, the call will return CBF_FORMAT. This evaluation and
++ comparison is delayed (a "lazy " evaluation) to ensure maximal
++ processing efficiency. If an immediately evaluation is required, see
++ MSG_DIGESTNOW, below. MSG_DIGESTNOW: Instructs CBFlib to
++ check that the digest of the binary section matches any header
++ digeste value. If the digests do not match, the call will return
++ CBF_FORMAT. This evaluation and comparison is performed during
++ initial parsing of the section to ensure timely error reporting at
++ the expense of processing efficiency. If a more efficient delayed (
++ "lazy ") evaluation is required, see MSG_DIGEST, above.
++ MSG_DIGESTWARN: Instructs CBFlib to check that the digest
++ of the binary section matches any header digeste value. If the
++ digests do not match, a warning message will be sent to stderr, but
++ processing will attempt to continue. This evaluation and comparison
++ is first performed during initial parsing of the section to ensure
++ timely error reporting at the expense of processing efficiency. An
++ mismatch of the message digest usually indicates a serious error, but
++ it is sometimes worth continuing processing to try to isolate the
++ cause of the error. Use this option with caution. MSG_NODIGEST:
++ Do not check the digest (default). PARSE_BRACKETS:
++ Accept DDLm bracket-delimited [item,item,...item] or
++ {item,item,...item} or (item,item,...item) constructs as valid,
++ stripping non-quoted embedded whitespace and comments. These
++ constructs may span multiple lines. PARSE_LIBERAL_BRACKETS: Accept
++ DDLm bracket-delimited [item,item,...item] or {item,item,...item} or
++ (item,item,...item) constructs as valid, stripping embedded
++ non-quoted, non-separating whitespace and comments. These constructs
++ may span multiple lines. In this case, whitespace may be used as an
++ alternative to the comma. PARSE_TRIPLE_QUOTES: Accept DDLm
++ triple-quoted " " "item,item,...item " " " or
++ '''item,item,...item''' constructs as valid, stripping embedded
++ whitespace and comments. These constructs may span multiple lines. If
++ this flag is set, then ''' will not be interpreted as a quoted
++ apoptrophe and " " " will not be interpreted as a quoted double
++ quote mark and PARSE_NOBRACKETS: Do not accept DDLm
++ bracket-delimited [item,item,...item] or {item,item,...item} or
++ (item,item,...item) constructs as valid, stripping non-quoted
++ embedded whitespace and comments. These constructs may span multiple
++ lines. PARSE_NOTRIPLE_QUOTES: No not accept DDLm triple-quoted "
++ " "item,item,...item " " " or '''item,item,...item''' constructs
++ as valid, stripping embedded whitespace and comments. These
++ constructs may span multiple lines. If this flag is set, then '''
++ will be interpreted as a quoted apostrophe and " " " will be
++ interpreted as a quoted double quote mark.
++ CBFlib defers reading binary sections as long as possible. In the
++ current version of CBFlib, this means that:
++ 1. The file must be a random-access file opened in binary mode (fopen
++ ( ,
++
++ """
++ return _pycbf.cbf_handle_struct_read_file(self, *args)
++
++ def datablock_name(self, *args):
++ """
++ Returns :
++ *args : string
++
++ C prototype: int cbf_datablock_name (cbf_handle handle,
++ const char **datablockname);
++
++ CBFLib documentation:
++ DESCRIPTION
++ cbf_datablock_name sets *datablockname to point to the name of the
++ current data block.
++ The data block name will be valid as long as the data block exists
++ and has not been renamed.
++ The name must not be modified by the program in any way.
++ ARGUMENTS
++ handle CBF handle. datablockname Pointer to the
++ destination data block name pointer.
++ RETURN VALUE
++ Returns an error code on failure or 0 for success.
++ SEE ALSO
++
++ """
++ return _pycbf.cbf_handle_struct_datablock_name(self, *args)
++
++ def set_realarray_wdims(self, *args):
++ """
++ Returns :
++ *args : int compression,int binary_id,(binary) String data,int elsize,
++ int elements,String byteorder,int dimfast,int dimmid,int dimslow,
++ int padding
++
++ C prototype: int cbf_set_realarray_wdims (cbf_handle handle,
++ unsigned int compression, int binary_id, void *array,
++ size_t elsize, size_t elements, const char *byteorder,
++ size_t dimfast, size_t dimmid, size_t dimslow,
++ size_t padding);
++
++ CBFLib documentation:
++ DESCRIPTION
++ cbf_set_integerarray sets the binary value of the item at the current
++ column and row to an integer array. The array consists of elements
++ elements of elsize bytes each, starting at array. The elements are
++ signed if elsigned is non-0 and unsigned otherwise. binary_id is the
++ binary section identifier. cbf_set_realarray sets the binary value of
++ the item at the current column and row to an integer array. The array
++ consists of elements elements of elsize bytes each, starting at
++ array. binary_id is the binary section identifier.
++ The cbf_set_integerarray_wdims, cbf_set_integerarray_wdims_fs,
++ cbf_set_integerarray_wdims_sf, cbf_set_realarray_wdims,
++ cbf_set_realarray_wdims_fs and cbf_set_realarray_wdims_sf variants
++ allow the data header values of byteorder, dimfast, dimmid, dimslow
++ and padding to be set to the data byte order, the fastest, second
++ fastest and third fastest array dimensions and the size in byte of
++ the post data padding to be used.
++ The array will be compressed using the compression scheme specifed by
++ compression. Currently, the available schemes are:
++ CBF_CANONICAL Canonical-code compression (section 3.3.1)
++ CBF_PACKED CCP4-style packing (section 3.3.2) CBF_PACKED_V2
++ CCP4-style packing, version 2 (section 3.3.2) CBF_BYTE_OFFSET
++ Simple "byte_offset " compression. CBF_NONE No
++ compression. NOTE: This scheme is by far the slowest of the four and
++ uses much more disk space. It is intended for routine use with small
++ arrays only. With large arrays (like images) it should be used only
++ for debugging.
++ The values compressed are limited to 64 bits. If any element in the
++ array is larger than 64 bits, the value compressed is the nearest
++ 64-bit value.
++ Currently, the source array must consist of chars, shorts or ints
++ (signed or unsigned), for cbf_set_integerarray, or IEEE doubles or
++ floats for cbf_set_realarray. If elsize is not equal to sizeof
++ (char), sizeof (short) or sizeof (int), the function returns
++ CBF_ARGUMENT.
++ ARGUMENTS
++ handle CBF handle. compression Compression method to use.
++ binary_id Integer binary identifier. array Pointer to the
++ source array. elsize Size in bytes of each source array
++ element. elsigned Set to non-0 if the source array elements are
++ signed. elements: The number of elements in the array.
++ RETURN VALUE
++ Returns an error code on failure or 0 for success.
++ SEE ALSO
++
++ """
++ return _pycbf.cbf_handle_struct_set_realarray_wdims(self, *args)
++
++ def construct_reference_detector(self, *args):
++ """
++ Returns : pycbf detector object
++ *args : Integer element_number
++
++ C prototype: int cbf_construct_reference_detector (cbf_handle handle,
++ cbf_detector *detector, unsigned int element_number);
++
++ CBFLib documentation:
++ DESCRIPTION
++ cbf_construct_detector constructs a detector object for detector
++ element number element_number using the description in the CBF object
++ handle and initialises the detector handle *detector.
++ cbf_construct_reference_detector constructs a detector object for
++ detector element number element_number using the description in the
++ CBF object handle and initialises the detector handle *detector using
++ the reference settings of the axes. cbf_require_reference_detector is
++ similar, but try to force the creations of missing intermediate
++ categories needed to construct a detector object.
++ ARGUMENTS
++ handle CBF handle. detector Pointer to the
++ destination detector handle. element_number The number of the
++ detector element counting from 0 by order of appearance in the
++ "diffrn_data_frame " category.
++ RETURN VALUE
++ Returns an error code on failure or 0 for success.
++ ----------------------------------------------------------------------
++
++ """
++ return _pycbf.cbf_handle_struct_construct_reference_detector(self, *args)
++
++ def get_real_3d_image_fs_as_string(self, *args):
++ """
++ Returns : (Binary)String
++ *args : int element_number,int elsize,int ndimfast,int ndimmid,int ndimslow
++
++ C prototype: int cbf_get_real_3d_image_fs (cbf_handle handle,
++ unsigned int reserved, unsigned int element_number,
++ void *array, size_t elsize, size_t ndimfast,
++ size_t ndimmid, size_t ndimslow);
++
++ CBFLib documentation:
++ DESCRIPTION
++ cbf_get_image, cbf_get_image_fs and cbf_get_image_sf read the image
++ array for element number element_number into an array. The array
++ consists of ndimslow *ndimfast elements of elsize bytes each,
++ starting at array. The elements are signed if elsign is non-0 and
++ unsigned otherwise. cbf_get_real_image, cbf_get_real_image_fs and
++ cbf_get_real_image_sf read the image array of IEEE doubles or floats
++ for element number element_number into an array. A real array is
++ always signed. cbf_get_3d_image, cbf_get_3d_image_fs and
++ cbf_get_3d_image_sf read the 3D image array for element number
++ element_number into an array. The array consists of ndimslow *ndimmid
++ *ndimfast elements of elsize bytes each, starting at array. The
++ elements are signed if elsign is non-0 and unsigned otherwise.
++ cbf_get_real_3d_image, cbf_get_real_3d_image_fs,
++ cbf_get_real_3d_image_sf reads the 3D image array of IEEE doubles or
++ floats for element number element_number into an array. A real array
++ is always signed.
++ The _fs calls give the dimensions in a fast-to-slow order. The calls
++ with no suffix and the calls _sf calls give the dimensions in
++ slow-to-fast order
++ The structure of the array as a 1-, 2- or 3-dimensional array should
++ agree with the structure of the array given in the
++ ARRAY_STRUCTURE_LIST category. If the array is 1-dimensional,
++ ndimslow should be the array size and ndimfast and, for the 3D calls,
++ ndimmid, should be set to 1 both in the call and in the imgCIF data
++ being processed. If the array is 2-dimensional and a 3D call is used,
++ ndimslow and ndimmid should be the
++
++ """
++ return _pycbf.cbf_handle_struct_get_real_3d_image_fs_as_string(self, *args)
++
++ def rewind_row(self, *args):
++ """
++ Returns :
++ *args :
++
++ C prototype: int cbf_rewind_row (cbf_handle handle);
++
++ CBFLib documentation:
++ DESCRIPTION
++ cbf_rewind_row makes the first row in the current category the
++ current row.
++ If there are no rows, the function returns CBF_NOTFOUND.
++ The current column is not affected.
++ ARGUMENTS
++ handle CBF handle.
++ RETURN VALUE
++ Returns an error code on failure or 0 for success.
++ SEE ALSO
++
++ """
++ return _pycbf.cbf_handle_struct_rewind_row(self, *args)
++
++ def get_axis_setting(self, *args):
++ """
++ Returns : Float start,Float increment
++ *args : String axis_id
++
++ C prototype: int cbf_get_axis_setting (cbf_handle handle,
++ unsigned int reserved, const char *axis_id, double *start,
++ double *increment);
++
++ CBFLib documentation:
++ DESCRIPTION
++ cbf_get_axis_setting sets *start and *increment to the corresponding
++ values of the axis axis_id.
++ Either of the destination pointers may be NULL.
++ The parameter reserved is presently unused and should be set to 0.
++ ARGUMENTS
++ handle CBF handle. reserved Unused. Any value other than 0 is
++ invalid. axis_id Axis id. start Pointer to the destination
++ start value. increment Pointer to the destination increment value.
++ RETURN VALUE
++ Returns an error code on failure or 0 for success.
++ ----------------------------------------------------------------------
++
++ """
++ return _pycbf.cbf_handle_struct_get_axis_setting(self, *args)
++
++ def require_column(self, *args):
++ """
++ Returns : string
++ *args :
++
++ C prototype: int cbf_require_column (cbf_handle handle,
++ const char *columnname);
++
++ CBFLib documentation:
++ DESCRIPTION
++ cbf_require_column makes the columns in the current category with
++ name columnname the current column, if it exists, or creates it if it
++ does not.
++ The comparison is case-insensitive.
++ The current row is not affected.
++ ARGUMENTS
++ handle CBF handle. columnname The name of column to find.
++ RETURN VALUE
++ Returns an error code on failure or 0 for success.
++ SEE ALSO
++
++ """
++ return _pycbf.cbf_handle_struct_require_column(self, *args)
++
++ def get_timestamp(self):
++ """
++ Returns : Float time,Integer timezone
++ *args :
++
++ C prototype: int cbf_get_timestamp (cbf_handle handle, unsigned int reserved,
++ double *time, int *timezone);
++
++ CBFLib documentation:
++ DESCRIPTION
++ cbf_get_timestamp sets *time to the collection timestamp in seconds
++ since January 1 1970. *timezone is set to timezone difference from
++ UTC in minutes. The parameter reserved is presently unused and should
++ be set to 0.
++ Either of the destination pointers may be NULL.
++ ARGUMENTS
++ handle CBF handle. reserved Unused. Any value other than 0 is
++ invalid. time Pointer to the destination collection timestamp.
++ timezone Pointer to the destination timezone difference.
++ RETURN VALUE
++ Returns an error code on failure or 0 for success.
++ ----------------------------------------------------------------------
++
++ """
++ return _pycbf.cbf_handle_struct_get_timestamp(self)
++
++ def find_nextrow(self, *args):
++ """
++ Returns : string
++ *args :
++
++ C prototype: int cbf_find_nextrow (cbf_handle handle, const char *value);
++
++ CBFLib documentation:
++ DESCRIPTION
++ cbf_find_nextrow makes the makes the next row in the current column
++ with value value the current row. The search starts from the row
++ following the last row found with cbf_find_row or cbf_find_nextrow,
++ or from the current row if the current row was defined using any
++ other function.
++ The comparison is case-sensitive.
++ If no more matching rows exist, the function returns CBF_NOTFOUND.
++ The current column is not affected.
++ ARGUMENTS
++ handle CBF handle. value the value to search for.
++ RETURN VALUE
++ Returns an error code on failure or 0 for success.
++ SEE ALSO
++
++ """
++ return _pycbf.cbf_handle_struct_find_nextrow(self, *args)
++
++ def get_realarrayparameters_wdims_sf(self):
++ """
++ Returns : int compression,int binary_id,int elsize,int elements,char **bo,
++ int *bolen,int dimslow,int dimmid,int dimfast,int padding
++ *args :
++
++ C prototype: int cbf_get_realarrayparameters_wdims_sf (cbf_handle handle,
++ unsigned int *compression, int *binary_id, size_t *elsize,
++ size_t *elements, const char **byteorder, size_t *dimslow,
++ size_t *dimmid, size_t *dimfast, size_t *padding);
++
++ CBFLib documentation:
++ DESCRIPTION
++ cbf_get_integerarrayparameters sets *compression, *binary_id,
++ *elsize, *elsigned, *elunsigned, *elements, *minelement and
++ *maxelement to values read from the binary value of the item at the
++ current column and row. This provides all the arguments needed for a
++ subsequent call to cbf_set_integerarray, if a copy of the array is to
++ be made into another CIF or CBF. cbf_get_realarrayparameters sets
++ *compression, *binary_id, *elsize, *elements to values read from the
++ binary value of the item at the current column and row. This provides
++ all the arguments needed for a subsequent call to cbf_set_realarray,
++ if a copy of the arry is to be made into another CIF or CBF.
++ The variants cbf_get_integerarrayparameters_wdims,
++ cbf_get_integerarrayparameters_wdims_fs,
++ cbf_get_integerarrayparameters_wdims_sf,
++ cbf_get_realarrayparameters_wdims,
++ cbf_get_realarrayparameters_wdims_fs,
++ cbf_get_realarrayparameters_wdims_sf set **byteorder, *dimfast,
++ *dimmid, *dimslow, and *padding as well, providing the additional
++ parameters needed for a subsequent call to cbf_set_integerarray_wdims
++ or cbf_set_realarray_wdims.
++ The value returned in *byteorder is a pointer either to the string
++ "little_endian " or to the string "big_endian ". This should be
++ the byte order of the data, not necessarily of the host machine. No
++ attempt should be made to modify this string. At this time only
++ "little_endian " will be returned.
++ The values returned in *dimfast, *dimmid and *dimslow are the sizes
++ of the fastest changing, second fastest changing and third fastest
++ changing dimensions of the array, if specified, or zero, if not
++ specified.
++ The value returned in *padding is the size of the post-data padding,
++ if any and if specified in the data header. The value is given as a
++ count of octets.
++ If the value is not binary, the function returns CBF_ASCII.
++ ARGUMENTS
++ handle CBF handle. compression Compression method used.
++ elsize Size in bytes of each array element. binary_id
++ Pointer to the destination integer binary identifier. elsigned
++ Pointer to an integer. Set to 1 if the elements can be read as signed
++ integers. elunsigned Pointer to an integer. Set to 1 if the
++ elements can be read as unsigned integers. elements Pointer to
++ the destination number of elements. minelement Pointer to the
++ destination smallest element. maxelement Pointer to the
++ destination largest element. byteorder Pointer to the destination
++ byte order. dimfast Pointer to the destination fastest
++ dimension. dimmid Pointer to the destination second fastest
++ dimension. dimslow Pointer to the destination third fastest
++ dimension. padding Pointer to the destination padding size.
++ RETURN VALUE
++ Returns an error code on failure or 0 for success.
++ SEE ALSO
++
++ """
++ return _pycbf.cbf_handle_struct_get_realarrayparameters_wdims_sf(self)
++
++ def reset_datablock(self, *args):
++ """
++ Returns :
++ *args :
++
++ C prototype: int cbf_reset_datablock (cbf_handle handle);
++
++ CBFLib documentation:
++ DESCRIPTION
++ cbf_reset_datablock deletes all categories from the current data
++ block. cbf_reset_saveframe deletes all categories from the current
++ save frame.
++ ARGUMENTS
++ handle CBF handle.
++ RETURN VALUE
++ Returns an error code on failure or 0 for success.
++ SEE ALSO
++
++ """
++ return _pycbf.cbf_handle_struct_reset_datablock(self, *args)
++
++ def set_3d_image_fs(self, *args):
++ """
++ Returns :
++ *args : int element_number,int compression,(binary) String data,int elsize,
++ int elsign,int dimfast,int dimmid,int dimslow
++
++ C prototype: int cbf_set_3d_image_fs(cbf_handle handle, unsigned int reserved,
++ unsigned int element_number, unsigned int compression,
++ void *array, size_t elsize, int elsign, size_t ndimfast,
++ size_t ndimmid, size_t ndimslow);
++
++ CBFLib documentation:
++ DESCRIPTION
++ cbf_set_image, cbf_set_image_fs and cbf_set_image_sf write the image
++ array for element number element_number. The array consists of
++ ndimfast *ndimslow elements of elsize bytes each, starting at array.
++ The elements are signed if elsign is non-zero and unsigned otherwise.
++ cbf_set_real_image, cbf_set_real_image_fs and cbf_set_real_image_sf
++ write the image array for element number element_number. The array
++ consists of ndimfast *ndimslow IEEE double or float elements of
++ elsize bytes each, starting at array. cbf_set_3d_image,
++ cbf_set_3d_image_fs and cbf_set_3d_image_sf write the 3D image array
++ for element number element_number. The array consists of ndimfast
++ *ndimmid *ndimslow elements of elsize bytes each, starting at array.
++ The elements are signed if elsign is non-0 and unsigned otherwise.
++ cbf_set_real_3d_image, cbf_set_real_3d_image_fs and
++ cbf_set_real_3d_image_sf writes the 3D image array for element number
++ element_number. The array consists of ndimfast *ndimmid *ndimslow
++ IEEE double or float elements of elsize bytes each, starting at
++ array.
++ The _fs calls give the dimensions in a fast-to-slow order. The calls
++ with no suffix and the calls _sf calls give the dimensions in
++ slow-to-fast order
++ If the array is 1-dimensional, ndimslow should be the array size and
++ ndimfast and, for the 3D calls, ndimmid, should be set to 1. If the
++ array is 2-dimensional and the 3D calls are used, ndimslow and
++ ndimmid should be used for the array dimensions and ndimfast should
++ be set to 1.
++ The array will be compressed using the compression scheme specifed by
++ compression. Currently, the available schemes are:
++ CBF_CANONICAL Canonical-code compression (section 3.3.1) CBF_PACKED
++ CCP4-style packing (section 3.3.2) CBF_PACKED_V2 CCP4-style
++ packing, version 2 (section 3.3.2) CBF_BYTE_OFFSET Simple
++ "byte_offset " compression. CBF_NONE No compression.
++ The values compressed are limited to 64 bits. If any element in the
++ array is larger than 64 bits, the value compressed is the nearest
++ 64-bit value.
++ Currently, the source array must consist of chars, shorts or ints
++ (signed or unsigned)for cbf_set_image, or IEEE doubles or floats for
++ cbf_set_real_image. If elsize is not equal to sizeof (short), sizeof
++ (int), sizeof(double) or sizeof(float), the function returns
++ CBF_ARGUMENT.
++ The parameter reserved is presently unused and should be set to 0.
++ ARGUMENTS
++ handle CBF handle. reserved Unused. Any value other
++ than 0 is invalid. element_number The number of the detector
++ element counting from 0 by order of appearance in the
++ "diffrn_data_frame " category. compression Compression type.
++ array Pointer to the image array. elsize Size in
++ bytes of each image array element. elsigned Set to non-0 if
++ the image array elements are signed. ndimslow Slowest array
++ dimension. ndimmid Second slowest array dimension. ndimfast
++ Fastest array dimension.
++ RETURN VALUE
++ Returns an error code on failure or 0 for success.
++ ----------------------------------------------------------------------
++
++ """
++ return _pycbf.cbf_handle_struct_set_3d_image_fs(self, *args)
++
++ def set_saveframename(self, *args):
++ """
++ Returns : string
++ *args :
++
++ C prototype: int cbf_set_saveframename (cbf_handle handle,
++ const char *saveframename);
++
++ CBFLib documentation:
++ DESCRIPTION
++ cbf_set_datablockname changes the name of the current data block to
++ datablockname. cbf_set_saveframename changes the name of the current
++ save frame to saveframename.
++ If a data block or save frame with this name already exists
++ (comparison is case-insensitive), the function returns CBF_IDENTICAL.
++ ARGUMENTS
++ handle CBF handle. datablockname The new data block name.
++ datablockname The new save frame name.
++ RETURN VALUE
++ Returns an error code on failure or 0 for success.
++ SEE ALSO
++
++ """
++ return _pycbf.cbf_handle_struct_set_saveframename(self, *args)
++
++ def require_integervalue(self, *args):
++ """
++ Returns : Int number
++ *args : Int thedefault
++
++ C prototype: int cbf_require_integervalue (cbf_handle handle, int *number,
++ int defaultvalue);
++
++ CBFLib documentation:
++ DESCRIPTION
++ cbf_get_integervalue sets *number to the value of the ASCII item at
++ the current column and row interpreted as a decimal integer.
++ cbf_require_integervalue sets *number to the value of the ASCII item
++ at the current column and row interpreted as a decimal integer,
++ setting it to defaultvalue if necessary.
++ If the value is not ASCII, the function returns CBF_BINARY.
++ ARGUMENTS
++ handle CBF handle. number pointer to the number.
++ defaultvalue default number value.
++ RETURN VALUE
++ Returns an error code on failure or 0 for success.
++ SEE ALSO
++
++ """
++ return _pycbf.cbf_handle_struct_require_integervalue(self, *args)
++
++ def get_integerarrayparameters(self):
++ """
++ Returns : int compression,int binary_id,int elsize,int elsigned,int elunsigned,
++ int elements,int minelement,int maxelement
++ *args :
++
++ C prototype: int cbf_get_integerarrayparameters (cbf_handle handle,
++ unsigned int *compression, int *binary_id, size_t *elsize,
++ int *elsigned, int *elunsigned, size_t *elements,
++ int *minelement, int *maxelement);
++
++ CBFLib documentation:
++ DESCRIPTION
++ cbf_get_integerarrayparameters sets *compression, *binary_id,
++ *elsize, *elsigned, *elunsigned, *elements, *minelement and
++ *maxelement to values read from the binary value of the item at the
++ current column and row. This provides all the arguments needed for a
++ subsequent call to cbf_set_integerarray, if a copy of the array is to
++ be made into another CIF or CBF. cbf_get_realarrayparameters sets
++ *compression, *binary_id, *elsize, *elements to values read from the
++ binary value of the item at the current column and row. This provides
++ all the arguments needed for a subsequent call to cbf_set_realarray,
++ if a copy of the arry is to be made into another CIF or CBF.
++ The variants cbf_get_integerarrayparameters_wdims,
++ cbf_get_integerarrayparameters_wdims_fs,
++ cbf_get_integerarrayparameters_wdims_sf,
++ cbf_get_realarrayparameters_wdims,
++ cbf_get_realarrayparameters_wdims_fs,
++ cbf_get_realarrayparameters_wdims_sf set **byteorder, *dimfast,
++ *dimmid, *dimslow, and *padding as well, providing the additional
++ parameters needed for a subsequent call to cbf_set_integerarray_wdims
++ or cbf_set_realarray_wdims.
++ The value returned in *byteorder is a pointer either to the string
++ "little_endian " or to the string "big_endian ". This should be
++ the byte order of the data, not necessarily of the host machine. No
++ attempt should be made to modify this string. At this time only
++ "little_endian " will be returned.
++ The values returned in *dimfast, *dimmid and *dimslow are the sizes
++ of the fastest changing, second fastest changing and third fastest
++ changing dimensions of the array, if specified, or zero, if not
++ specified.
++ The value returned in *padding is the size of the post-data padding,
++ if any and if specified in the data header. The value is given as a
++ count of octets.
++ If the value is not binary, the function returns CBF_ASCII.
++ ARGUMENTS
++ handle CBF handle. compression Compression method used.
++ elsize Size in bytes of each array element. binary_id
++ Pointer to the destination integer binary identifier. elsigned
++ Pointer to an integer. Set to 1 if the elements can be read as signed
++ integers. elunsigned Pointer to an integer. Set to 1 if the
++ elements can be read as unsigned integers. elements Pointer to
++ the destination number of elements. minelement Pointer to the
++ destination smallest element. maxelement Pointer to the
++ destination largest element. byteorder Pointer to the destination
++ byte order. dimfast Pointer to the destination fastest
++ dimension. dimmid Pointer to the destination second fastest
++ dimension. dimslow Pointer to the destination third fastest
++ dimension. padding Pointer to the destination padding size.
++ RETURN VALUE
++ Returns an error code on failure or 0 for success.
++ SEE ALSO
++
++ """
++ return _pycbf.cbf_handle_struct_get_integerarrayparameters(self)
++
++ def set_real_3d_image_sf(self, *args):
++ """
++ Returns :
++ *args : int element_number,int compression,(binary) String data,int elsize,
++ int dimslow,int dimmid,int dimfast
++
++ C prototype: int cbf_set_real_3d_image_sf(cbf_handle handle,
++ unsigned int reserved, unsigned int element_number,
++ unsigned int compression, void *array,size_t elsize,
++ size_t ndimslow, size_t ndimmid, size_t ndimfast);
++
++ CBFLib documentation:
++ DESCRIPTION
++ cbf_set_image, cbf_set_image_fs and cbf_set_image_sf write the image
++ array for element number element_number. The array consists of
++ ndimfast *ndimslow elements of elsize bytes each, starting at array.
++ The elements are signed if elsign is non-zero and unsigned otherwise.
++ cbf_set_real_image, cbf_set_real_image_fs and cbf_set_real_image_sf
++ write the image array for element number element_number. The array
++ consists of ndimfast *ndimslow IEEE double or float elements of
++ elsize bytes each, starting at array. cbf_set_3d_image,
++ cbf_set_3d_image_fs and cbf_set_3d_image_sf write the 3D image array
++ for element number element_number. The array consists of ndimfast
++ *ndimmid *ndimslow elements of elsize bytes each, starting at array.
++ The elements are signed if elsign is non-0 and unsigned otherwise.
++ cbf_set_real_3d_image, cbf_set_real_3d_image_fs and
++ cbf_set_real_3d_image_sf writes the 3D image array for element number
++ element_number. The array consists of ndimfast *ndimmid *ndimslow
++ IEEE double or float elements of elsize bytes each, starting at
++ array.
++ The _fs calls give the dimensions in a fast-to-slow order. The calls
++ with no suffix and the calls _sf calls give the dimensions in
++ slow-to-fast order
++ If the array is 1-dimensional, ndimslow should be the array size and
++ ndimfast and, for the 3D calls, ndimmid, should be set to 1. If the
++ array is 2-dimensional and the 3D calls are used, ndimslow and
++ ndimmid should be used for the array dimensions and ndimfast should
++ be set to 1.
++ The array will be compressed using the compression scheme specifed by
++ compression. Currently, the available schemes are:
++ CBF_CANONICAL Canonical-code compression (section 3.3.1) CBF_PACKED
++ CCP4-style packing (section 3.3.2) CBF_PACKED_V2 CCP4-style
++ packing, version 2 (section 3.3.2) CBF_BYTE_OFFSET Simple
++ "byte_offset " compression. CBF_NONE No compression.
++ The values compressed are limited to 64 bits. If any element in the
++ array is larger than 64 bits, the value compressed is the nearest
++ 64-bit value.
++ Currently, the source array must consist of chars, shorts or ints
++ (signed or unsigned)for cbf_set_image, or IEEE doubles or floats for
++ cbf_set_real_image. If elsize is not equal to sizeof (short), sizeof
++ (int), sizeof(double) or sizeof(float), the function returns
++ CBF_ARGUMENT.
++ The parameter reserved is presently unused and should be set to 0.
++ ARGUMENTS
++ handle CBF handle. reserved Unused. Any value other
++ than 0 is invalid. element_number The number of the detector
++ element counting from 0 by order of appearance in the
++ "diffrn_data_frame " category. compression Compression type.
++ array Pointer to the image array. elsize Size in
++ bytes of each image array element. elsigned Set to non-0 if
++ the image array elements are signed. ndimslow Slowest array
++ dimension. ndimmid Second slowest array dimension. ndimfast
++ Fastest array dimension.
++ RETURN VALUE
++ Returns an error code on failure or 0 for success.
++ ----------------------------------------------------------------------
++
++ """
++ return _pycbf.cbf_handle_struct_set_real_3d_image_sf(self, *args)
++
++ def write_file(self, *args):
++ """
++ Returns :
++ *args : String filename,Integer ciforcbf,Integer Headers,Integer encoding
++
++ C prototype: int cbf_write_file (cbf_handle handle, FILE *file, int readable,
++ int ciforcbf, int flags, int encoding);
++
++ CBFLib documentation:
++ DESCRIPTION
++ cbf_write_file writes the CBF object specified by handle into the
++ file file, following CIF 1.0 conventions of 80 character lines.
++ cbf_write_widefile writes the CBF object specified by handle into the
++ file file, following CIF 1.1 conventions of 2048 character lines. A
++ warning is issued to stderr for ascii lines over the limit, and an
++ attempt is made to fold lines to fit. No test is performed on binary
++ sections.
++ If a dictionary has been provided, aliases will be applied on output.
++ Unlike cbf_read_file, the file does not have to be random-access.
++ If the file is random-access and readable, readable can be set to
++ non-0 to indicate to CBFlib that the file can be used as a buffer to
++ conserve disk space. If the file is not random-access or not
++ readable, readable must be 0.
++
++ """
++ return _pycbf.cbf_handle_struct_write_file(self, *args)
++
++ def set_divergence(self, *args):
++ """
++ Returns :
++ *args : Float div_x_source,Float div_y_source,Float div_x_y_source
++
++ C prototype: int cbf_set_divergence (cbf_handle handle, double div_x_source,
++ double div_y_source, double div_x_y_source);
++
++ CBFLib documentation:
++ DESCRIPTION
++ cbf_set_divergence sets the source divergence parameters to the
++ values specified by div_x_source, div_y_source and div_x_y_source.
++ ARGUMENTS
++ handle CBF handle. div_x_source New value of
++ div_x_source. div_y_source New value of div_y_source.
++ div_x_y_source New value of div_x_y_source.
++ RETURN VALUE
++ Returns an error code on failure or 0 for success.
++ ----------------------------------------------------------------------
++
++ """
++ return _pycbf.cbf_handle_struct_set_divergence(self, *args)
++
++ def remove_datablock(self, *args):
++ """
++ Returns :
++ *args :
++
++ C prototype: int cbf_remove_datablock (cbf_handle handle);
++
++ CBFLib documentation:
++ DESCRIPTION
++ cbf_remove_datablock deletes the current data block.
++ cbf_remove_saveframe deletes the current save frame.
++ The current data block becomes undefined.
++ ARGUMENTS
++ handle CBF handle.
++ RETURN VALUE
++ Returns an error code on failure or 0 for success.
++ SEE ALSO
++
++ """
++ return _pycbf.cbf_handle_struct_remove_datablock(self, *args)
++
++ def count_elements(self, *args):
++ """
++ Returns : Integer
++ *args :
++
++ C prototype: int cbf_count_elements (cbf_handle handle,
++ unsigned int *elements);
++
++ CBFLib documentation:
++ DESCRIPTION
++ cbf_count_elements sets *elements to the number of detector elements.
++ ARGUMENTS
++ handle CBF handle. elements Pointer to the destination count.
++ RETURN VALUE
++ Returns an error code on failure or 0 for success.
++ ----------------------------------------------------------------------
++
++ """
++ return _pycbf.cbf_handle_struct_count_elements(self, *args)
++
++ def set_image_fs(self, *args):
++ """
++ Returns :
++ *args : int element_number,int compression,(binary) String data,int elsize,
++ int elsign,int dimfast,int dimslow
++
++ C prototype: int cbf_set_image_fs(cbf_handle handle, unsigned int reserved,
++ unsigned int element_number, unsigned int compression,
++ void *array, size_t elsize, int elsign, size_t ndimfast,
++ size_t ndimslow);
++
++ CBFLib documentation:
++ DESCRIPTION
++ cbf_set_image, cbf_set_image_fs and cbf_set_image_sf write the image
++ array for element number element_number. The array consists of
++ ndimfast *ndimslow elements of elsize bytes each, starting at array.
++ The elements are signed if elsign is non-zero and unsigned otherwise.
++ cbf_set_real_image, cbf_set_real_image_fs and cbf_set_real_image_sf
++ write the image array for element number element_number. The array
++ consists of ndimfast *ndimslow IEEE double or float elements of
++ elsize bytes each, starting at array. cbf_set_3d_image,
++ cbf_set_3d_image_fs and cbf_set_3d_image_sf write the 3D image array
++ for element number element_number. The array consists of ndimfast
++ *ndimmid *ndimslow elements of elsize bytes each, starting at array.
++ The elements are signed if elsign is non-0 and unsigned otherwise.
++ cbf_set_real_3d_image, cbf_set_real_3d_image_fs and
++ cbf_set_real_3d_image_sf writes the 3D image array for element number
++ element_number. The array consists of ndimfast *ndimmid *ndimslow
++ IEEE double or float elements of elsize bytes each, starting at
++ array.
++ The _fs calls give the dimensions in a fast-to-slow order. The calls
++ with no suffix and the calls _sf calls give the dimensions in
++ slow-to-fast order
++ If the array is 1-dimensional, ndimslow should be the array size and
++ ndimfast and, for the 3D calls, ndimmid, should be set to 1. If the
++ array is 2-dimensional and the 3D calls are used, ndimslow and
++ ndimmid should be used for the array dimensions and ndimfast should
++ be set to 1.
++ The array will be compressed using the compression scheme specifed by
++ compression. Currently, the available schemes are:
++ CBF_CANONICAL Canonical-code compression (section 3.3.1) CBF_PACKED
++ CCP4-style packing (section 3.3.2) CBF_PACKED_V2 CCP4-style
++ packing, version 2 (section 3.3.2) CBF_BYTE_OFFSET Simple
++ "byte_offset " compression. CBF_NONE No compression.
++ The values compressed are limited to 64 bits. If any element in the
++ array is larger than 64 bits, the value compressed is the nearest
++ 64-bit value.
++ Currently, the source array must consist of chars, shorts or ints
++ (signed or unsigned)for cbf_set_image, or IEEE doubles or floats for
++ cbf_set_real_image. If elsize is not equal to sizeof (short), sizeof
++ (int), sizeof(double) or sizeof(float), the function returns
++ CBF_ARGUMENT.
++ The parameter reserved is presently unused and should be set to 0.
++ ARGUMENTS
++ handle CBF handle. reserved Unused. Any value other
++ than 0 is invalid. element_number The number of the detector
++ element counting from 0 by order of appearance in the
++ "diffrn_data_frame " category. compression Compression type.
++ array Pointer to the image array. elsize Size in
++ bytes of each image array element. elsigned Set to non-0 if
++ the image array elements are signed. ndimslow Slowest array
++ dimension. ndimmid Second slowest array dimension. ndimfast
++ Fastest array dimension.
++ RETURN VALUE
++ Returns an error code on failure or 0 for success.
++ ----------------------------------------------------------------------
++
++ """
++ return _pycbf.cbf_handle_struct_set_image_fs(self, *args)
++
++ def require_reference_detector(self, *args):
++ """
++ Returns : pycbf detector object
++ *args : Integer element_number
++
++ C prototype: int cbf_require_reference_detector (cbf_handle handle,
++ cbf_detector *detector, unsigned int element_number);
++
++ CBFLib documentation:
++ DESCRIPTION
++ cbf_construct_detector constructs a detector object for detector
++ element number element_number using the description in the CBF object
++ handle and initialises the detector handle *detector.
++ cbf_construct_reference_detector constructs a detector object for
++ detector element number element_number using the description in the
++ CBF object handle and initialises the detector handle *detector using
++ the reference settings of the axes. cbf_require_reference_detector is
++ similar, but try to force the creations of missing intermediate
++ categories needed to construct a detector object.
++ ARGUMENTS
++ handle CBF handle. detector Pointer to the
++ destination detector handle. element_number The number of the
++ detector element counting from 0 by order of appearance in the
++ "diffrn_data_frame " category.
++ RETURN VALUE
++ Returns an error code on failure or 0 for success.
++ ----------------------------------------------------------------------
++
++ """
++ return _pycbf.cbf_handle_struct_require_reference_detector(self, *args)
++
++ def next_category(self, *args):
++ """
++ Returns :
++ *args :
++
++ C prototype: int cbf_next_category (cbf_handle handle);
++
++ CBFLib documentation:
++ DESCRIPTION
++ cbf_next_category makes the category following the current category
++ in the current data block the current category.
++ If there are no more categories, the function returns CBF_NOTFOUND.
++ The current column and row become undefined.
++ ARGUMENTS
++ handle CBF handle.
++ RETURN VALUE
++ Returns an error code on failure or 0 for success.
++ SEE ALSO
++
++ """
++ return _pycbf.cbf_handle_struct_next_category(self, *args)
++
++ def set_diffrn_id(self, *args):
++ """
++ Returns : string
++ *args :
++
++ C prototype: int cbf_set_diffrn_id (cbf_handle handle, const char *diffrn_id);
++
++ CBFLib documentation:
++ DESCRIPTION
++ cbf_set_diffrn_id sets the "diffrn.id " entry of the current
++ datablock to the ASCII value diffrn_id.
++ This function also changes corresponding "diffrn_id " entries in
++ the "diffrn_source ", "diffrn_radiation ", "diffrn_detector
++ " and "diffrn_measurement " categories.
++ ARGUMENTS
++ handle CBF handle. diffrn_id ASCII value.
++ RETURN VALUE
++ Returns an error code on failure or 0 for success.
++ ----------------------------------------------------------------------
++
++ """
++ return _pycbf.cbf_handle_struct_set_diffrn_id(self, *args)
++
++ def set_timestamp(self, *args):
++ """
++ Returns :
++ *args : Float time,Integer timezone,Float precision
++
++ C prototype: int cbf_set_timestamp (cbf_handle handle, unsigned int reserved,
++ double time, int timezone, double precision);
++
++ CBFLib documentation:
++ DESCRIPTION
++ cbf_set_timestamp sets the collection timestamp in seconds since
++ January 1 1970 to the value specified by time. The timezone
++ difference from UTC
++
++ """
++ return _pycbf.cbf_handle_struct_set_timestamp(self, *args)
++
++ def get_orientation_matrix(self):
++ """
++ Returns : Float matrix_0,Float matrix_1,Float matrix_2,Float matrix_3,
++ Float matrix_4,Float matrix_5,Float matrix_6,Float matrix_7,
++ Float matrix_8
++ *args :
++
++ C prototype: int cbf_get_orientation_matrix (cbf_handle handle,
++ double ub_matrix[9]);
++
++ CBFLib documentation:
++ DESCRIPTION
++ cbf_get_orientation_matrix sets ub_matrix to point to the array of
++ orientation matrix entries in the "diffrn " category in the order
++ of columns:
++ "UB[1][1] " "UB[1][2] " "UB[1][3] " "UB[2][1] "
++ "UB[2][2] " "UB[2][3] " "UB[3][1] " "UB[3][2] "
++ "UB[3][3] "
++ cbf_set_orientation_matrix sets the values in the "diffrn "
++ category to the values pointed to by ub_matrix.
++ ARGUMENTS
++ handle CBF handle. ubmatric Source or destination array of 9
++ doubles giving the orientation matrix parameters.
++ RETURN VALUE
++ Returns an error code on failure or 0 for success.
++ ----------------------------------------------------------------------
++
++ """
++ return _pycbf.cbf_handle_struct_get_orientation_matrix(self)
++
++ def get_image_size_fs(self, *args):
++ """
++ Returns : size_t ndimfast,size_t ndimslow
++ *args : Integer element_number
++
++ C prototype: int cbf_get_image_size_fs (cbf_handle handle,
++ unsigned int reserved, unsigned int element_number,
++ size_t *ndimfast, size_t *ndimslow);
++
++ CBFLib documentation:
++ DESCRIPTION
++ cbf_get_image_size, cbf_get_image_size_fs and cbf_get_image_size_sf
++ set *ndimslow and *ndimfast to the slow and fast dimensions of the
++ image array for element number element_number. If the array is
++ 1-dimensional, *ndimslow will be set to the array size and *ndimfast
++ will be set to 1. If the array is 3-dimensional an error code will be
++ returned. cbf_get_3d_image_size, cbf_get_3d_image_size_fs and
++ cbf_get_3d_image_size_sf set *ndimslow, *ndimmid and *ndimfast to the
++ slowest, next fastest and fastest dimensions, respectively, of the 3D
++ image array for element number element_number. If the array is
++ 1-dimensional, *ndimslow will be set to the array size and *ndimmid
++ and
++
++ """
++ return _pycbf.cbf_handle_struct_get_image_size_fs(self, *args)
++
++ def get_divergence(self):
++ """
++ Returns : Float div_x_source,Float div_y_source,Float div_x_y_source
++ *args :
++
++ C prototype: int cbf_get_divergence (cbf_handle handle, double *div_x_source,
++ double *div_y_source, double *div_x_y_source);
++
++ CBFLib documentation:
++ DESCRIPTION
++ cbf_get_divergence sets *div_x_source, *div_y_source and
++ *div_x_y_source to the corresponding source divergence parameters.
++ Any of the destination pointers may be NULL.
++ ARGUMENTS
++ handle CBF handle. div_x_source Pointer to the
++ destination div_x_source. div_y_source Pointer to the destination
++ div_y_source. div_x_y_source Pointer to the destination
++ div_x_y_source.
++ RETURN VALUE
++ Returns an error code on failure or 0 for success.
++ ----------------------------------------------------------------------
++
++ """
++ return _pycbf.cbf_handle_struct_get_divergence(self)
++
++ def rewind_category(self, *args):
++ """
++ Returns :
++ *args :
++
++ C prototype: int cbf_rewind_category (cbf_handle handle);
++
++ CBFLib documentation:
++ DESCRIPTION
++ cbf_rewind_category makes the first category in the current data
++ block the current category. cbf_rewind_saveframe makes the first
++ saveframe in the current data block the current saveframe.
++ cbf_rewind_blockitem makes the first blockitem (category or
++ saveframe) in the current data block the current blockitem. The type
++ of the blockitem (CBF_CATEGORY or CBF_SAVEFRAME) is returned in type.
++ If there are no categories, saveframes or blockitems the function
++ returns CBF_NOTFOUND.
++ The current column and row become undefined.
++ ARGUMENTS
++ handle CBF handle. type CBF handle.
++ RETURN VALUE
++ Returns an error code on failure or 0 for success.
++ SEE ALSO
++
++ """
++ return _pycbf.cbf_handle_struct_rewind_category(self, *args)
++
++ def read_template(self, *args):
++ """
++ Returns :
++ *args : String filename
++
++ C prototype: int cbf_read_template (cbf_handle handle, FILE *file);
++
++ CBFLib documentation:
++ DESCRIPTION
++ cbf_read_template reads the CBF or CIF file file into the CBF object
++ specified by handle and selects the first datablock as the current
++ datablock.
++ ARGUMENTS
++ handle Pointer to a CBF handle. file Pointer to a file
++ descriptor.
++ RETURN VALUE
++ Returns an error code on failure or 0 for success.
++ ----------------------------------------------------------------------
++
++ """
++ return _pycbf.cbf_handle_struct_read_template(self, *args)
++
++ def select_row(self, *args):
++ """
++ Returns :
++ *args : Integer
++
++ C prototype: int cbf_select_row (cbf_handle handle, unsigned int row);
++
++ CBFLib documentation:
++ DESCRIPTION
++ cbf_select_row selects row number row in the current category as the
++ current row.
++ The first row is number 0.
++ The current column is not affected
++ If the row does not exist, the function returns CBF_NOTFOUND.
++ ARGUMENTS
++ handle CBF handle. row Number of the row to select.
++ RETURN VALUE
++ Returns an error code on failure or 0 for success.
++ SEE ALSO
++
++ """
++ return _pycbf.cbf_handle_struct_select_row(self, *args)
++
++ def get_image_fs_as_string(self, *args):
++ """
++ Returns : (Binary)String
++ *args : int element_number,int elsize,int elsign,int ndimfast,int ndimslow
++
++ C prototype: int cbf_get_image_fs (cbf_handle handle, unsigned int reserved,
++ unsigned int element_number, void *array, size_t elsize,
++ int elsign, size_t ndimfast, size_t ndimslow);
++
++ CBFLib documentation:
++ DESCRIPTION
++ cbf_get_image, cbf_get_image_fs and cbf_get_image_sf read the image
++ array for element number element_number into an array. The array
++ consists of ndimslow *ndimfast elements of elsize bytes each,
++ starting at array. The elements are signed if elsign is non-0 and
++ unsigned otherwise. cbf_get_real_image, cbf_get_real_image_fs and
++ cbf_get_real_image_sf read the image array of IEEE doubles or floats
++ for element number element_number into an array. A real array is
++ always signed. cbf_get_3d_image, cbf_get_3d_image_fs and
++ cbf_get_3d_image_sf read the 3D image array for element number
++ element_number into an array. The array consists of ndimslow *ndimmid
++ *ndimfast elements of elsize bytes each, starting at array. The
++ elements are signed if elsign is non-0 and unsigned otherwise.
++ cbf_get_real_3d_image, cbf_get_real_3d_image_fs,
++ cbf_get_real_3d_image_sf reads the 3D image array of IEEE doubles or
++ floats for element number element_number into an array. A real array
++ is always signed.
++ The _fs calls give the dimensions in a fast-to-slow order. The calls
++ with no suffix and the calls _sf calls give the dimensions in
++ slow-to-fast order
++ The structure of the array as a 1-, 2- or 3-dimensional array should
++ agree with the structure of the array given in the
++ ARRAY_STRUCTURE_LIST category. If the array is 1-dimensional,
++ ndimslow should be the array size and ndimfast and, for the 3D calls,
++ ndimmid, should be set to 1 both in the call and in the imgCIF data
++ being processed. If the array is 2-dimensional and a 3D call is used,
++ ndimslow and ndimmid should be the
++
++ """
++ return _pycbf.cbf_handle_struct_get_image_fs_as_string(self, *args)
++
++ def get_image_size_sf(self, *args):
++ """
++ Returns : size_t ndimslow,size_t ndimfast
++ *args : Integer element_number
++
++ C prototype: int cbf_get_image_size_sf (cbf_handle handle,
++ unsigned int reserved, unsigned int element_number,
++ size_t *ndimslow, size_t *ndimfast);
++
++ CBFLib documentation:
++ DESCRIPTION
++ cbf_get_image_size, cbf_get_image_size_fs and cbf_get_image_size_sf
++ set *ndimslow and *ndimfast to the slow and fast dimensions of the
++ image array for element number element_number. If the array is
++ 1-dimensional, *ndimslow will be set to the array size and *ndimfast
++ will be set to 1. If the array is 3-dimensional an error code will be
++ returned. cbf_get_3d_image_size, cbf_get_3d_image_size_fs and
++ cbf_get_3d_image_size_sf set *ndimslow, *ndimmid and *ndimfast to the
++ slowest, next fastest and fastest dimensions, respectively, of the 3D
++ image array for element number element_number. If the array is
++ 1-dimensional, *ndimslow will be set to the array size and *ndimmid
++ and
++
++ """
++ return _pycbf.cbf_handle_struct_get_image_size_sf(self, *args)
++
++ def get_real_image_fs_as_string(self, *args):
++ """
++ Returns : (Binary)String
++ *args : int element_number,int elsize,int ndimfast,int ndimslow
++
++ C prototype: int cbf_get_real_image_fs (cbf_handle handle,
++ unsigned int reserved, unsigned int element_number,
++ void *array, size_t elsize, size_t ndimfast,
++ size_t ndimslow);
++
++ CBFLib documentation:
++ DESCRIPTION
++ cbf_get_image, cbf_get_image_fs and cbf_get_image_sf read the image
++ array for element number element_number into an array. The array
++ consists of ndimslow *ndimfast elements of elsize bytes each,
++ starting at array. The elements are signed if elsign is non-0 and
++ unsigned otherwise. cbf_get_real_image, cbf_get_real_image_fs and
++ cbf_get_real_image_sf read the image array of IEEE doubles or floats
++ for element number element_number into an array. A real array is
++ always signed. cbf_get_3d_image, cbf_get_3d_image_fs and
++ cbf_get_3d_image_sf read the 3D image array for element number
++ element_number into an array. The array consists of ndimslow *ndimmid
++ *ndimfast elements of elsize bytes each, starting at array. The
++ elements are signed if elsign is non-0 and unsigned otherwise.
++ cbf_get_real_3d_image, cbf_get_real_3d_image_fs,
++ cbf_get_real_3d_image_sf reads the 3D image array of IEEE doubles or
++ floats for element number element_number into an array. A real array
++ is always signed.
++ The _fs calls give the dimensions in a fast-to-slow order. The calls
++ with no suffix and the calls _sf calls give the dimensions in
++ slow-to-fast order
++ The structure of the array as a 1-, 2- or 3-dimensional array should
++ agree with the structure of the array given in the
++ ARRAY_STRUCTURE_LIST category. If the array is 1-dimensional,
++ ndimslow should be the array size and ndimfast and, for the 3D calls,
++ ndimmid, should be set to 1 both in the call and in the imgCIF data
++ being processed. If the array is 2-dimensional and a 3D call is used,
++ ndimslow and ndimmid should be the
++
++ """
++ return _pycbf.cbf_handle_struct_get_real_image_fs_as_string(self, *args)
++
++ def count_columns(self, *args):
++ """
++ Returns : Integer
++ *args :
++
++ C prototype: int cbf_count_columns (cbf_handle handle, unsigned int *columns);
++
++ CBFLib documentation:
++ DESCRIPTION
++ cbf_count_columns puts the number of columns in the current category
++ in *columns.
++ ARGUMENTS
++ handle CBF handle. columns Pointer to the destination column
++ count.
++ RETURN VALUE
++ Returns an error code on failure or 0 for success.
++ SEE ALSO
++
++ """
++ return _pycbf.cbf_handle_struct_count_columns(self, *args)
++
++ def get_integerarrayparameters_wdims(self):
++ """
++ Returns : int compression,int binary_id,int elsize,int elsigned,int elunsigned,
++ int elements,int minelement,int maxelement,char **bo,int *bolen,
++ int dimfast,int dimmid,int dimslow,int padding
++ *args :
++
++ C prototype: int cbf_get_integerarrayparameters_wdims (cbf_handle handle,
++ unsigned int *compression, int *binary_id, size_t *elsize,
++ int *elsigned, int *elunsigned, size_t *elements,
++ int *minelement, int *maxelement, const char **byteorder,
++ size_t *dimfast, size_t *dimmid, size_t *dimslow,
++ size_t *padding);
++
++ CBFLib documentation:
++ DESCRIPTION
++ cbf_get_integerarrayparameters sets *compression, *binary_id,
++ *elsize, *elsigned, *elunsigned, *elements, *minelement and
++ *maxelement to values read from the binary value of the item at the
++ current column and row. This provides all the arguments needed for a
++ subsequent call to cbf_set_integerarray, if a copy of the array is to
++ be made into another CIF or CBF. cbf_get_realarrayparameters sets
++ *compression, *binary_id, *elsize, *elements to values read from the
++ binary value of the item at the current column and row. This provides
++ all the arguments needed for a subsequent call to cbf_set_realarray,
++ if a copy of the arry is to be made into another CIF or CBF.
++ The variants cbf_get_integerarrayparameters_wdims,
++ cbf_get_integerarrayparameters_wdims_fs,
++ cbf_get_integerarrayparameters_wdims_sf,
++ cbf_get_realarrayparameters_wdims,
++ cbf_get_realarrayparameters_wdims_fs,
++ cbf_get_realarrayparameters_wdims_sf set **byteorder, *dimfast,
++ *dimmid, *dimslow, and *padding as well, providing the additional
++ parameters needed for a subsequent call to cbf_set_integerarray_wdims
++ or cbf_set_realarray_wdims.
++ The value returned in *byteorder is a pointer either to the string
++ "little_endian " or to the string "big_endian ". This should be
++ the byte order of the data, not necessarily of the host machine. No
++ attempt should be made to modify this string. At this time only
++ "little_endian " will be returned.
++ The values returned in *dimfast, *dimmid and *dimslow are the sizes
++ of the fastest changing, second fastest changing and third fastest
++ changing dimensions of the array, if specified, or zero, if not
++ specified.
++ The value returned in *padding is the size of the post-data padding,
++ if any and if specified in the data header. The value is given as a
++ count of octets.
++ If the value is not binary, the function returns CBF_ASCII.
++ ARGUMENTS
++ handle CBF handle. compression Compression method used.
++ elsize Size in bytes of each array element. binary_id
++ Pointer to the destination integer binary identifier. elsigned
++ Pointer to an integer. Set to 1 if the elements can be read as signed
++ integers. elunsigned Pointer to an integer. Set to 1 if the
++ elements can be read as unsigned integers. elements Pointer to
++ the destination number of elements. minelement Pointer to the
++ destination smallest element. maxelement Pointer to the
++ destination largest element. byteorder Pointer to the destination
++ byte order. dimfast Pointer to the destination fastest
++ dimension. dimmid Pointer to the destination second fastest
++ dimension. dimslow Pointer to the destination third fastest
++ dimension. padding Pointer to the destination padding size.
++ RETURN VALUE
++ Returns an error code on failure or 0 for success.
++ SEE ALSO
++
++ """
++ return _pycbf.cbf_handle_struct_get_integerarrayparameters_wdims(self)
++
++ def get_gain(self, *args):
++ """
++ Returns : Float gain,Float gain_esd
++ *args :
++
++ C prototype: int cbf_get_gain (cbf_handle handle, unsigned int element_number,
++ double *gain, double *gain_esd);
++
++ CBFLib documentation:
++ DESCRIPTION
++ cbf_get_gain sets *gain and *gain_esd to the corresponding gain
++ parameters for element number element_number.
++ Either of the destination pointers may be NULL.
++ ARGUMENTS
++ handle CBF handle. element_number The number of the
++ detector element counting from 0 by order of appearance in the
++ "diffrn_data_frame " category. gain Pointer to the
++ destination gain. gain_esd Pointer to the destination
++ gain_esd.
++ RETURN VALUE
++ Returns an error code on failure or 0 for success.
++ ----------------------------------------------------------------------
++
++ """
++ return _pycbf.cbf_handle_struct_get_gain(self, *args)
++
++ def new_saveframe(self, *args):
++ """
++ Returns : string
++ *args :
++
++ C prototype: int cbf_new_saveframe (cbf_handle handle,
++ const char *saveframename);
++
++ CBFLib documentation:
++ DESCRIPTION
++ cbf_new_datablock creates a new data block with name datablockname
++ and makes it the current data block. cbf_new_saveframe creates a new
++ save frame with name saveframename within the current data block and
++ makes the new save frame the current save frame.
++ If a data block or save frame with this name already exists, the
++ existing data block or save frame becomes the current data block or
++ save frame.
++ ARGUMENTS
++ handle CBF handle. datablockname The name of the new data
++ block. saveframename The name of the new save frame.
++ RETURN VALUE
++ Returns an error code on failure or 0 for success.
++ SEE ALSO
++
++ """
++ return _pycbf.cbf_handle_struct_new_saveframe(self, *args)
++
++ def set_polarization(self, *args):
++ """
++ Returns :
++ *args : Float polarizn_source_ratio,Float polarizn_source_norm
++
++ C prototype: int cbf_set_polarization (cbf_handle handle,
++ double polarizn_source_ratio,
++ double polarizn_source_norm);
++
++ CBFLib documentation:
++ DESCRIPTION
++ cbf_set_polarization sets the source polarization to the values
++ specified by polarizn_source_ratio and polarizn_source_norm.
++ ARGUMENTS
++ handle CBF handle. polarizn_source_ratio New value
++ of polarizn_source_ratio. polarizn_source_norm New value of
++ polarizn_source_norm.
++ RETURN VALUE
++ Returns an error code on failure or 0 for success.
++ ----------------------------------------------------------------------
++
++ """
++ return _pycbf.cbf_handle_struct_set_polarization(self, *args)
++
++ def set_real_3d_image(self, *args):
++ """
++ Returns :
++ *args : int element_number,int compression,(binary) String data,int elsize,
++ int dimslow,int dimmid,int dimfast
++
++ C prototype: int cbf_set_real_3d_image (cbf_handle handle,
++ unsigned int reserved, unsigned int element_number,
++ unsigned int compression, void *array,size_t elsize,
++ size_t ndimslow, size_t ndimmid, size_t ndimfast);
++
++ CBFLib documentation:
++ DESCRIPTION
++ cbf_set_image, cbf_set_image_fs and cbf_set_image_sf write the image
++ array for element number element_number. The array consists of
++ ndimfast *ndimslow elements of elsize bytes each, starting at array.
++ The elements are signed if elsign is non-zero and unsigned otherwise.
++ cbf_set_real_image, cbf_set_real_image_fs and cbf_set_real_image_sf
++ write the image array for element number element_number. The array
++ consists of ndimfast *ndimslow IEEE double or float elements of
++ elsize bytes each, starting at array. cbf_set_3d_image,
++ cbf_set_3d_image_fs and cbf_set_3d_image_sf write the 3D image array
++ for element number element_number. The array consists of ndimfast
++ *ndimmid *ndimslow elements of elsize bytes each, starting at array.
++ The elements are signed if elsign is non-0 and unsigned otherwise.
++ cbf_set_real_3d_image, cbf_set_real_3d_image_fs and
++ cbf_set_real_3d_image_sf writes the 3D image array for element number
++ element_number. The array consists of ndimfast *ndimmid *ndimslow
++ IEEE double or float elements of elsize bytes each, starting at
++ array.
++ The _fs calls give the dimensions in a fast-to-slow order. The calls
++ with no suffix and the calls _sf calls give the dimensions in
++ slow-to-fast order
++ If the array is 1-dimensional, ndimslow should be the array size and
++ ndimfast and, for the 3D calls, ndimmid, should be set to 1. If the
++ array is 2-dimensional and the 3D calls are used, ndimslow and
++ ndimmid should be used for the array dimensions and ndimfast should
++ be set to 1.
++ The array will be compressed using the compression scheme specifed by
++ compression. Currently, the available schemes are:
++ CBF_CANONICAL Canonical-code compression (section 3.3.1) CBF_PACKED
++ CCP4-style packing (section 3.3.2) CBF_PACKED_V2 CCP4-style
++ packing, version 2 (section 3.3.2) CBF_BYTE_OFFSET Simple
++ "byte_offset " compression. CBF_NONE No compression.
++ The values compressed are limited to 64 bits. If any element in the
++ array is larger than 64 bits, the value compressed is the nearest
++ 64-bit value.
++ Currently, the source array must consist of chars, shorts or ints
++ (signed or unsigned)for cbf_set_image, or IEEE doubles or floats for
++ cbf_set_real_image. If elsize is not equal to sizeof (short), sizeof
++ (int), sizeof(double) or sizeof(float), the function returns
++ CBF_ARGUMENT.
++ The parameter reserved is presently unused and should be set to 0.
++ ARGUMENTS
++ handle CBF handle. reserved Unused. Any value other
++ than 0 is invalid. element_number The number of the detector
++ element counting from 0 by order of appearance in the
++ "diffrn_data_frame " category. compression Compression type.
++ array Pointer to the image array. elsize Size in
++ bytes of each image array element. elsigned Set to non-0 if
++ the image array elements are signed. ndimslow Slowest array
++ dimension. ndimmid Second slowest array dimension. ndimfast
++ Fastest array dimension.
++ RETURN VALUE
++ Returns an error code on failure or 0 for success.
++ ----------------------------------------------------------------------
++
++ """
++ return _pycbf.cbf_handle_struct_set_real_3d_image(self, *args)
++
++ def delete_row(self, *args):
++ """
++ Returns :
++ *args : Integer
++
++ C prototype: int cbf_delete_row (cbf_handle handle, unsigned int rownumber);
++
++ CBFLib documentation:
++ DESCRIPTION
++ cbf_delete_row deletes a row from the current category. Rows starting
++ from rownumber +1 are moved down by 1. If the current row was higher
++ than rownumber, or if the current row is the last row, it will also
++ move down by 1.
++ The row numbers start from 0.
++ ARGUMENTS
++ handle CBF handle. rownumber The number of the row to delete.
++ RETURN VALUE
++ Returns an error code on failure or 0 for success.
++ SEE ALSO
++
++ """
++ return _pycbf.cbf_handle_struct_delete_row(self, *args)
++
++ def column_name(self, *args):
++ """
++ Returns :
++ *args : string
++
++ C prototype: int cbf_column_name (cbf_handle handle, const char **columnname);
++
++ CBFLib documentation:
++ DESCRIPTION
++ cbf_column_name sets *columnname to point to the name of the current
++ column of the current category.
++ The column name will be valid as long as the column exists.
++ The name must not be modified by the program in any way.
++ cbf_set_column_name sets the name of the current column to
++ newcolumnname
++ ARGUMENTS
++ handle CBF handle. columnname Pointer to the
++ destination column name pointer. newcolumnname New column name
++ pointer.
++ RETURN VALUE
++ Returns an error code on failure or 0 for success.
++ SEE ALSO
++
++ """
++ return _pycbf.cbf_handle_struct_column_name(self, *args)
++
++ def remove_saveframe(self, *args):
++ """
++ Returns :
++ *args :
++
++ C prototype: int cbf_remove_saveframe (cbf_handle handle);
++
++ CBFLib documentation:
++ DESCRIPTION
++ cbf_remove_datablock deletes the current data block.
++ cbf_remove_saveframe deletes the current save frame.
++ The current data block becomes undefined.
++ ARGUMENTS
++ handle CBF handle.
++ RETURN VALUE
++ Returns an error code on failure or 0 for success.
++ SEE ALSO
++
++ """
++ return _pycbf.cbf_handle_struct_remove_saveframe(self, *args)
++
++ def set_integerarray_wdims_sf(self, *args):
++ """
++ Returns :
++ *args : int compression,int binary_id,(binary) String data,int elsize,
++ int elements,String byteorder,int dimslow,int dimmid,int dimfast,
++ int padding
++
++ C prototype: int cbf_set_integerarray_wdims_sf (cbf_handle handle,
++ unsigned int compression, int binary_id, void *array,
++ size_t elsize, int elsigned, size_t elements,
++ const char *byteorder, size_t dimslow, size_t dimmid,
++ size_t dimfast, size_t padding);
++
++ CBFLib documentation:
++ DESCRIPTION
++ cbf_set_integerarray sets the binary value of the item at the current
++ column and row to an integer array. The array consists of elements
++ elements of elsize bytes each, starting at array. The elements are
++ signed if elsigned is non-0 and unsigned otherwise. binary_id is the
++ binary section identifier. cbf_set_realarray sets the binary value of
++ the item at the current column and row to an integer array. The array
++ consists of elements elements of elsize bytes each, starting at
++ array. binary_id is the binary section identifier.
++ The cbf_set_integerarray_wdims, cbf_set_integerarray_wdims_fs,
++ cbf_set_integerarray_wdims_sf, cbf_set_realarray_wdims,
++ cbf_set_realarray_wdims_fs and cbf_set_realarray_wdims_sf variants
++ allow the data header values of byteorder, dimfast, dimmid, dimslow
++ and padding to be set to the data byte order, the fastest, second
++ fastest and third fastest array dimensions and the size in byte of
++ the post data padding to be used.
++ The array will be compressed using the compression scheme specifed by
++ compression. Currently, the available schemes are:
++ CBF_CANONICAL Canonical-code compression (section 3.3.1)
++ CBF_PACKED CCP4-style packing (section 3.3.2) CBF_PACKED_V2
++ CCP4-style packing, version 2 (section 3.3.2) CBF_BYTE_OFFSET
++ Simple "byte_offset " compression. CBF_NONE No
++ compression. NOTE: This scheme is by far the slowest of the four and
++ uses much more disk space. It is intended for routine use with small
++ arrays only. With large arrays (like images) it should be used only
++ for debugging.
++ The values compressed are limited to 64 bits. If any element in the
++ array is larger than 64 bits, the value compressed is the nearest
++ 64-bit value.
++ Currently, the source array must consist of chars, shorts or ints
++ (signed or unsigned), for cbf_set_integerarray, or IEEE doubles or
++ floats for cbf_set_realarray. If elsize is not equal to sizeof
++ (char), sizeof (short) or sizeof (int), the function returns
++ CBF_ARGUMENT.
++ ARGUMENTS
++ handle CBF handle. compression Compression method to use.
++ binary_id Integer binary identifier. array Pointer to the
++ source array. elsize Size in bytes of each source array
++ element. elsigned Set to non-0 if the source array elements are
++ signed. elements: The number of elements in the array.
++ RETURN VALUE
++ Returns an error code on failure or 0 for success.
++ SEE ALSO
++
++ """
++ return _pycbf.cbf_handle_struct_set_integerarray_wdims_sf(self, *args)
++
++ def require_value(self, *args):
++ """
++ Returns : String Value
++ *args : String defaultvalue
++
++ C prototype: int cbf_require_value (cbf_handle handle, const char **value,
++ const char *defaultvalue );
++
++ CBFLib documentation:
++ DESCRIPTION
++ cbf_get_value sets *value to point to the ASCII value of the item at
++ the current column and row. cbf_require_value sets *value to point to
++ the ASCII value of the item at the current column and row, creating
++ the data item if necessary and initializing it to a copy of
++ defaultvalue.
++ If the value is not ASCII, the function returns CBF_BINARY.
++ The value will be valid as long as the item exists and has not been
++ set to a new value.
++ The value must not be modified by the program in any way.
++ ARGUMENTS
++ handle CBF handle. value Pointer to the destination
++ value pointer. defaultvalue Default value character string.
++ RETURN VALUE
++ Returns an error code on failure or 0 for success.
++ SEE ALSO
++
++ """
++ return _pycbf.cbf_handle_struct_require_value(self, *args)
++
++ def require_column_integervalue(self, *args):
++ """
++ Returns : Int Value
++ *args : String Columnvalue,Int default
++
++ C prototype: int cbf_require_column_integervalue (cbf_handle handle,
++ const char *columnname, int *number,
++ const int defaultvalue);
++
++ CBFLib documentation:
++ DESCRIPTION
++ cbf_require_column_doublevalue sets *number to the value of the ASCII
++ item at the current row for the column given with the name given by
++ *columnname, with the value interpreted as an integer number, or to
++ the number given by defaultvalue if the item cannot be found.
++ ARGUMENTS
++ handle CBF handle. columnname Name of the column
++ containing the number. number pointer to the location to
++ receive the integer value. defaultvalue Value to use if the
++ requested column and value cannot be found.
++ RETURN VALUE
++ Returns an error code on failure or 0 for success.
++ SEE ALSO
++
++ """
++ return _pycbf.cbf_handle_struct_require_column_integervalue(self, *args)
++
++ def set_pixel_size(self, *args):
++ """
++ Returns :
++ *args : Int element_number,Int axis_number,Float pixel size
++
++ C prototype: int cbf_set_pixel_size (cbf_handle handle,
++ unsigned int element_number, int axis_number,
++ double psize);
++
++ CBFLib documentation:
++ DESCRIPTION
++ cbf_set_pixel_size and cbf_set_pixel_size_sf set the item in the
++ "e;size"e; column of the "array_structure_list " category
++ at the row which matches axis axis_number of the detector element
++ element_number converting the double pixel size psize from meters to
++ millimeters in storing it in the "size " column for the axis
++ axis_number of the detector element element_number. The axis_number
++ is numbered from 1, starting with the slowest axis.
++ cbf_set_pixel_size_fs sets the item
++
++ """
++ return _pycbf.cbf_handle_struct_set_pixel_size(self, *args)
++
++ def next_column(self, *args):
++ """
++ Returns :
++ *args :
++
++ C prototype: int cbf_next_column (cbf_handle handle);
++
++ CBFLib documentation:
++ DESCRIPTION
++ cbf_next_column makes the column following the current column in the
++ current category the current column.
++ If there are no more columns, the function returns CBF_NOTFOUND.
++ The current row is not affected.
++ ARGUMENTS
++ handle CBF handle.
++ RETURN VALUE
++ Returns an error code on failure or 0 for success.
++ SEE ALSO
++
++ """
++ return _pycbf.cbf_handle_struct_next_column(self, *args)
++
++ def get_3d_image_size_sf(self, *args):
++ """
++ Returns : size_t ndimslow,size_t ndimmid,size_t ndimfast
++ *args : Integer element_number
++
++ C prototype: int cbf_get_3d_image_size_sf (cbf_handle handle,
++ unsigned int reserved, unsigned int element_number,
++ size_t *ndimslow, size_t *ndimmid, size_t *ndimfast);
++
++ CBFLib documentation:
++ DESCRIPTION
++ cbf_get_image_size, cbf_get_image_size_fs and cbf_get_image_size_sf
++ set *ndimslow and *ndimfast to the slow and fast dimensions of the
++ image array for element number element_number. If the array is
++ 1-dimensional, *ndimslow will be set to the array size and *ndimfast
++ will be set to 1. If the array is 3-dimensional an error code will be
++ returned. cbf_get_3d_image_size, cbf_get_3d_image_size_fs and
++ cbf_get_3d_image_size_sf set *ndimslow, *ndimmid and *ndimfast to the
++ slowest, next fastest and fastest dimensions, respectively, of the 3D
++ image array for element number element_number. If the array is
++ 1-dimensional, *ndimslow will be set to the array size and *ndimmid
++ and
++
++ """
++ return _pycbf.cbf_handle_struct_get_3d_image_size_sf(self, *args)
++
++ def get_realarrayparameters_wdims_fs(self):
++ """
++ Returns : int compression,int binary_id,int elsize,int elements,char **bo,
++ int *bolen,int dimfast,int dimmid,int dimslow,int padding
++ *args :
++
++ C prototype: int cbf_get_realarrayparameters_wdims_fs (cbf_handle handle,
++ unsigned int *compression, int *binary_id, size_t *elsize,
++ size_t *elements, const char **byteorder, size_t *dimfast,
++ size_t *dimmid, size_t *dimslow, size_t *padding);
++
++ CBFLib documentation:
++ DESCRIPTION
++ cbf_get_integerarrayparameters sets *compression, *binary_id,
++ *elsize, *elsigned, *elunsigned, *elements, *minelement and
++ *maxelement to values read from the binary value of the item at the
++ current column and row. This provides all the arguments needed for a
++ subsequent call to cbf_set_integerarray, if a copy of the array is to
++ be made into another CIF or CBF. cbf_get_realarrayparameters sets
++ *compression, *binary_id, *elsize, *elements to values read from the
++ binary value of the item at the current column and row. This provides
++ all the arguments needed for a subsequent call to cbf_set_realarray,
++ if a copy of the arry is to be made into another CIF or CBF.
++ The variants cbf_get_integerarrayparameters_wdims,
++ cbf_get_integerarrayparameters_wdims_fs,
++ cbf_get_integerarrayparameters_wdims_sf,
++ cbf_get_realarrayparameters_wdims,
++ cbf_get_realarrayparameters_wdims_fs,
++ cbf_get_realarrayparameters_wdims_sf set **byteorder, *dimfast,
++ *dimmid, *dimslow, and *padding as well, providing the additional
++ parameters needed for a subsequent call to cbf_set_integerarray_wdims
++ or cbf_set_realarray_wdims.
++ The value returned in *byteorder is a pointer either to the string
++ "little_endian " or to the string "big_endian ". This should be
++ the byte order of the data, not necessarily of the host machine. No
++ attempt should be made to modify this string. At this time only
++ "little_endian " will be returned.
++ The values returned in *dimfast, *dimmid and *dimslow are the sizes
++ of the fastest changing, second fastest changing and third fastest
++ changing dimensions of the array, if specified, or zero, if not
++ specified.
++ The value returned in *padding is the size of the post-data padding,
++ if any and if specified in the data header. The value is given as a
++ count of octets.
++ If the value is not binary, the function returns CBF_ASCII.
++ ARGUMENTS
++ handle CBF handle. compression Compression method used.
++ elsize Size in bytes of each array element. binary_id
++ Pointer to the destination integer binary identifier. elsigned
++ Pointer to an integer. Set to 1 if the elements can be read as signed
++ integers. elunsigned Pointer to an integer. Set to 1 if the
++ elements can be read as unsigned integers. elements Pointer to
++ the destination number of elements. minelement Pointer to the
++ destination smallest element. maxelement Pointer to the
++ destination largest element. byteorder Pointer to the destination
++ byte order. dimfast Pointer to the destination fastest
++ dimension. dimmid Pointer to the destination second fastest
++ dimension. dimslow Pointer to the destination third fastest
++ dimension. padding Pointer to the destination padding size.
++ RETURN VALUE
++ Returns an error code on failure or 0 for success.
++ SEE ALSO
++
++ """
++ return _pycbf.cbf_handle_struct_get_realarrayparameters_wdims_fs(self)
++
++ def get_realarray_as_string(self):
++ """
++ Returns : (Binary)String
++ *args :
++
++ C prototype: int cbf_get_realarray (cbf_handle handle, int *binary_id,
++ void *array, size_t elsize, size_t elements,
++ size_t *elements_read);
++
++ CBFLib documentation:
++ DESCRIPTION
++ cbf_get_integerarray reads the binary value of the item at the
++ current column and row into an integer array. The array consists of
++ elements elements of elsize bytes each, starting at array. The
++ elements are signed if elsigned is non-0 and unsigned otherwise.
++ *binary_id is set to the binary section identifier and *elements_read
++ to the number of elements actually read. cbf_get_realarray reads the
++ binary value of the item at the current column and row into a real
++ array. The array consists of elements elements of elsize bytes each,
++ starting at array. *binary_id is set to the binary section identifier
++ and *elements_read to the number of elements actually read.
++ If any element in the integer binary data cant fit into the
++ destination element, the destination is set the nearest possible
++ value.
++ If the value is not binary, the function returns CBF_ASCII.
++ If the requested number of elements cant be read, the function will
++ read as many as it can and then return CBF_ENDOFDATA.
++ Currently, the destination array must consist of chars, shorts or
++ ints (signed or unsigned). If elsize is not equal to sizeof (char),
++ sizeof (short) or sizeof (int), for cbf_get_integerarray, or
++ sizeof(double) or sizeof(float), for cbf_get_realarray the function
++ returns CBF_ARGUMENT.
++ An additional restriction in the current version of CBFlib is that
++ values too large to fit in an int are not correctly decompressed. As
++ an example, if the machine with 32-bit ints is reading an array
++ containing a value outside the range 0 .. 2^32-1 (unsigned) or -2^31
++ .. 2^31-1 (signed), the array will not be correctly decompressed.
++ This restriction will be removed in a future release. For
++ cbf_get_realarray, only IEEE format is supported. No conversion to
++ other floating point formats is done at this time.
++ ARGUMENTS
++ handle CBF handle. binary_id Pointer to the
++ destination integer binary identifier. array Pointer to the
++ destination array. elsize Size in bytes of each destination
++ array element. elsigned Set to non-0 if the destination array
++ elements are signed. elements The number of elements to read.
++ elements_read Pointer to the destination number of elements
++ actually read.
++ RETURN VALUE
++ Returns an error code on failure or 0 for success. SEE ALSO
++
++ """
++ return _pycbf.cbf_handle_struct_get_realarray_as_string(self)
++
++ def get_bin_sizes(self, *args):
++ """
++ Returns : Float slowbinsize,Float fastbinsize
++ *args : Integer element_number
++
++ C prototype: int cbf_get_bin_sizes(cbf_handle handle,
++ unsigned int element_number, double * slowbinsize,
++ double * fastbinsize);
++
++ CBFLib documentation:
++ DESCRIPTION
++ cbf_get_bin_sizes sets slowbinsize to point to the value of the
++ number of pixels composing one array element in the dimension that
++ changes at the second-fastest rate and fastbinsize to point to the
++ value of the number of pixels composing one array element in the
++ dimension that changes at the fastest rate for the dectector element
++ with the ordinal element_number. cbf_set_bin_sizes sets the the pixel
++ bin sizes in the "array_intensities " category to the values of
++ slowbinsize_in for the number of pixels composing one array element
++ in the dimension that changes at the second-fastest rate and
++ fastbinsize_in for the number of pixels composing one array element
++ in the dimension that changes at the fastest rate for the dectector
++ element with the ordinal element_number.
++ In order to allow for software binning involving fractions of pixels,
++ the bin sizes are doubles rather than ints.
++ ARGUMENTS
++ handle CBF handle. element_number The number of the
++ detector element counting from 0 by order of appearance in the
++ "diffrn_data_frame " category. slowbinsize Pointer to the
++ returned number of pixels composing one array element in the
++ dimension that changes at the second-fastest rate. fastbinsize
++ Pointer to the returned number of pixels composing one array element
++ in the dimension that changes at the fastest rate. slowbinsize_in
++ The number of pixels composing one array element in the dimension
++ that changes at the second-fastest rate. fastbinsize_in The number
++ of pixels composing one array element in the dimension that changes
++ at the fastest rate.
++ RETURN VALUE
++ Returns an error code on failure or 0 for success.
++ ----------------------------------------------------------------------
++
++ """
++ return _pycbf.cbf_handle_struct_get_bin_sizes(self, *args)
++
++ def reset_category(self, *args):
++ """
++ Returns :
++ *args :
++
++ C prototype: int cbf_reset_category (cbf_handle handle);
++
++ CBFLib documentation:
++ DESCRIPTION
++ cbf_reset_category deletes all columns and rows from current category.
++ ARGUMENTS
++ handle CBF handle.
++ RETURN VALUE
++ Returns an error code on failure or 0 for success.
++ SEE ALSO
++
++ """
++ return _pycbf.cbf_handle_struct_reset_category(self, *args)
++
++ def construct_goniometer(self):
++ """
++ Returns : pycbf goniometer object
++ *args :
++
++ C prototype: int cbf_construct_goniometer (cbf_handle handle,
++ cbf_goniometer *goniometer);
++
++ CBFLib documentation:
++ DESCRIPTION
++ cbf_construct_goniometer constructs a goniometer object using the
++ description in the CBF object handle and initialises the goniometer
++ handle *goniometer.
++ ARGUMENTS
++ handle CBF handle. goniometer Pointer to the destination
++ goniometer handle.
++ RETURN VALUE
++ Returns an error code on failure or 0 for success.
++ ----------------------------------------------------------------------
++
++ """
++ return _pycbf.cbf_handle_struct_construct_goniometer(self)
++
++ def set_datablockname(self, *args):
++ """
++ Returns : string
++ *args :
++
++ C prototype: int cbf_set_datablockname (cbf_handle handle,
++ const char *datablockname);
++
++ CBFLib documentation:
++ DESCRIPTION
++ cbf_set_datablockname changes the name of the current data block to
++ datablockname. cbf_set_saveframename changes the name of the current
++ save frame to saveframename.
++ If a data block or save frame with this name already exists
++ (comparison is case-insensitive), the function returns CBF_IDENTICAL.
++ ARGUMENTS
++ handle CBF handle. datablockname The new data block name.
++ datablockname The new save frame name.
++ RETURN VALUE
++ Returns an error code on failure or 0 for success.
++ SEE ALSO
++
++ """
++ return _pycbf.cbf_handle_struct_set_datablockname(self, *args)
++
++ def set_crystal_id(self, *args):
++ """
++ Returns : string
++ *args :
++
++ C prototype: int cbf_set_crystal_id (cbf_handle handle,
++ const char *crystal_id);
++
++ CBFLib documentation:
++ DESCRIPTION
++ cbf_set_crystal_id sets the "diffrn.crystal_id " entry to the
++ ASCII value crystal_id.
++ ARGUMENTS
++ handle CBF handle. crystal_id ASCII value.
++ RETURN VALUE
++ Returns an error code on failure or 0 for success.
++ ----------------------------------------------------------------------
++
++ """
++ return _pycbf.cbf_handle_struct_set_crystal_id(self, *args)
++
++ def get_integerarray_as_string(self):
++ """
++ Returns : (Binary)String
++ *args :
++
++ C prototype: int cbf_get_integerarray (cbf_handle handle, int *binary_id,
++ void *array, size_t elsize, int elsigned, size_t elements,
++ size_t *elements_read);
++
++ CBFLib documentation:
++ DESCRIPTION
++ cbf_get_integerarray reads the binary value of the item at the
++ current column and row into an integer array. The array consists of
++ elements elements of elsize bytes each, starting at array. The
++ elements are signed if elsigned is non-0 and unsigned otherwise.
++ *binary_id is set to the binary section identifier and *elements_read
++ to the number of elements actually read. cbf_get_realarray reads the
++ binary value of the item at the current column and row into a real
++ array. The array consists of elements elements of elsize bytes each,
++ starting at array. *binary_id is set to the binary section identifier
++ and *elements_read to the number of elements actually read.
++ If any element in the integer binary data cant fit into the
++ destination element, the destination is set the nearest possible
++ value.
++ If the value is not binary, the function returns CBF_ASCII.
++ If the requested number of elements cant be read, the function will
++ read as many as it can and then return CBF_ENDOFDATA.
++ Currently, the destination array must consist of chars, shorts or
++ ints (signed or unsigned). If elsize is not equal to sizeof (char),
++ sizeof (short) or sizeof (int), for cbf_get_integerarray, or
++ sizeof(double) or sizeof(float), for cbf_get_realarray the function
++ returns CBF_ARGUMENT.
++ An additional restriction in the current version of CBFlib is that
++ values too large to fit in an int are not correctly decompressed. As
++ an example, if the machine with 32-bit ints is reading an array
++ containing a value outside the range 0 .. 2^32-1 (unsigned) or -2^31
++ .. 2^31-1 (signed), the array will not be correctly decompressed.
++ This restriction will be removed in a future release. For
++ cbf_get_realarray, only IEEE format is supported. No conversion to
++ other floating point formats is done at this time.
++ ARGUMENTS
++ handle CBF handle. binary_id Pointer to the
++ destination integer binary identifier. array Pointer to the
++ destination array. elsize Size in bytes of each destination
++ array element. elsigned Set to non-0 if the destination array
++ elements are signed. elements The number of elements to read.
++ elements_read Pointer to the destination number of elements
++ actually read.
++ RETURN VALUE
++ Returns an error code on failure or 0 for success. SEE ALSO
++
++ """
++ return _pycbf.cbf_handle_struct_get_integerarray_as_string(self)
++
++ def set_3d_image(self, *args):
++ """
++ Returns :
++ *args : int element_number,int compression,(binary) String data,int elsize,
++ int elsign,int dimslow,int dimmid,int dimfast
++
++ C prototype: int cbf_set_3d_image (cbf_handle handle, unsigned int reserved,
++ unsigned int element_number, unsigned int compression,
++ void *array, size_t elsize, int elsign, size_t ndimslow,
++ size_t ndimmid, size_t ndimfast);
++
++ CBFLib documentation:
++ DESCRIPTION
++ cbf_set_image, cbf_set_image_fs and cbf_set_image_sf write the image
++ array for element number element_number. The array consists of
++ ndimfast *ndimslow elements of elsize bytes each, starting at array.
++ The elements are signed if elsign is non-zero and unsigned otherwise.
++ cbf_set_real_image, cbf_set_real_image_fs and cbf_set_real_image_sf
++ write the image array for element number element_number. The array
++ consists of ndimfast *ndimslow IEEE double or float elements of
++ elsize bytes each, starting at array. cbf_set_3d_image,
++ cbf_set_3d_image_fs and cbf_set_3d_image_sf write the 3D image array
++ for element number element_number. The array consists of ndimfast
++ *ndimmid *ndimslow elements of elsize bytes each, starting at array.
++ The elements are signed if elsign is non-0 and unsigned otherwise.
++ cbf_set_real_3d_image, cbf_set_real_3d_image_fs and
++ cbf_set_real_3d_image_sf writes the 3D image array for element number
++ element_number. The array consists of ndimfast *ndimmid *ndimslow
++ IEEE double or float elements of elsize bytes each, starting at
++ array.
++ The _fs calls give the dimensions in a fast-to-slow order. The calls
++ with no suffix and the calls _sf calls give the dimensions in
++ slow-to-fast order
++ If the array is 1-dimensional, ndimslow should be the array size and
++ ndimfast and, for the 3D calls, ndimmid, should be set to 1. If the
++ array is 2-dimensional and the 3D calls are used, ndimslow and
++ ndimmid should be used for the array dimensions and ndimfast should
++ be set to 1.
++ The array will be compressed using the compression scheme specifed by
++ compression. Currently, the available schemes are:
++ CBF_CANONICAL Canonical-code compression (section 3.3.1) CBF_PACKED
++ CCP4-style packing (section 3.3.2) CBF_PACKED_V2 CCP4-style
++ packing, version 2 (section 3.3.2) CBF_BYTE_OFFSET Simple
++ "byte_offset " compression. CBF_NONE No compression.
++ The values compressed are limited to 64 bits. If any element in the
++ array is larger than 64 bits, the value compressed is the nearest
++ 64-bit value.
++ Currently, the source array must consist of chars, shorts or ints
++ (signed or unsigned)for cbf_set_image, or IEEE doubles or floats for
++ cbf_set_real_image. If elsize is not equal to sizeof (short), sizeof
++ (int), sizeof(double) or sizeof(float), the function returns
++ CBF_ARGUMENT.
++ The parameter reserved is presently unused and should be set to 0.
++ ARGUMENTS
++ handle CBF handle. reserved Unused. Any value other
++ than 0 is invalid. element_number The number of the detector
++ element counting from 0 by order of appearance in the
++ "diffrn_data_frame " category. compression Compression type.
++ array Pointer to the image array. elsize Size in
++ bytes of each image array element. elsigned Set to non-0 if
++ the image array elements are signed. ndimslow Slowest array
++ dimension. ndimmid Second slowest array dimension. ndimfast
++ Fastest array dimension.
++ RETURN VALUE
++ Returns an error code on failure or 0 for success.
++ ----------------------------------------------------------------------
++
++ """
++ return _pycbf.cbf_handle_struct_set_3d_image(self, *args)
++
++ def set_dictionary(self, *args):
++ """
++ Returns :
++ *args : CBFHandle dictionary
++
++ C prototype: int cbf_set_dictionary (cbf_handle handle,
++ cbf_handle dictionary_in);
++
++ CBFLib documentation:
++ DESCRIPTION
++ cbf_get_dictionary sets *dictionary to the handle of a CBF which has
++ been associated with the CBF handle by cbf_set_dictionary.
++ cbf_set_dictionary associates the CBF handle dictionary_in with
++ handle as its dictionary. cbf_require_dictionary sets *dictionary to
++ the handle of a CBF which has been associated with the CBF handle by
++ cbf_set_dictionary or creates a new empty CBF and associates it with
++ handle, returning the new handle in *dictionary.
++ ARGUMENTS
++ handle CBF handle. dictionary Pointer to CBF handle of
++ dictionary. dictionary_in CBF handle of dcitionary.
++ RETURN VALUE
++ Returns an error code on failure or 0 for success.
++ ----------------------------------------------------------------------
++
++ """
++ return _pycbf.cbf_handle_struct_set_dictionary(self, *args)
++
++ def find_tag_category(self, *args):
++ """
++ Returns : String categoryname
++ *args : String tagname
++
++ C prototype: int cbf_find_tag_category (cbf_handle handle,
++ const char* tagname, const char** categoryname);
++
++ CBFLib documentation:
++ DESCRIPTION
++ cbf_find_tag_category sets categoryname to the category associated
++ with tagname in the dictionary associated with handle.
++ cbf_set_tag_category upddates the dictionary associated with handle
++ to indicated that tagname is in category categoryname_in.
++ ARGUMENTS
++ handle CBF handle. tagname tag name.
++ categoryname pointer to a returned category name.
++ categoryname_in input category name.
++ RETURN VALUE
++ Returns an error code on failure or 0 for success.
++ ----------------------------------------------------------------------
++
++ """
++ return _pycbf.cbf_handle_struct_find_tag_category(self, *args)
++
++ def get_real_3d_image_sf_as_string(self, *args):
++ """
++ Returns : (Binary)String
++ *args : int element_number,int elsize,int ndimslow,int ndimmid,int ndimfast
++
++ C prototype: int cbf_get_real_3d_image_sf (cbf_handle handle,
++ unsigned int reserved, unsigned int element_number,
++ void *array, size_t elsize, size_t ndimslow,
++ size_t ndimmid, size_t ndimfast);
++
++ CBFLib documentation:
++ DESCRIPTION
++ cbf_get_image, cbf_get_image_fs and cbf_get_image_sf read the image
++ array for element number element_number into an array. The array
++ consists of ndimslow *ndimfast elements of elsize bytes each,
++ starting at array. The elements are signed if elsign is non-0 and
++ unsigned otherwise. cbf_get_real_image, cbf_get_real_image_fs and
++ cbf_get_real_image_sf read the image array of IEEE doubles or floats
++ for element number element_number into an array. A real array is
++ always signed. cbf_get_3d_image, cbf_get_3d_image_fs and
++ cbf_get_3d_image_sf read the 3D image array for element number
++ element_number into an array. The array consists of ndimslow *ndimmid
++ *ndimfast elements of elsize bytes each, starting at array. The
++ elements are signed if elsign is non-0 and unsigned otherwise.
++ cbf_get_real_3d_image, cbf_get_real_3d_image_fs,
++ cbf_get_real_3d_image_sf reads the 3D image array of IEEE doubles or
++ floats for element number element_number into an array. A real array
++ is always signed.
++ The _fs calls give the dimensions in a fast-to-slow order. The calls
++ with no suffix and the calls _sf calls give the dimensions in
++ slow-to-fast order
++ The structure of the array as a 1-, 2- or 3-dimensional array should
++ agree with the structure of the array given in the
++ ARRAY_STRUCTURE_LIST category. If the array is 1-dimensional,
++ ndimslow should be the array size and ndimfast and, for the 3D calls,
++ ndimmid, should be set to 1 both in the call and in the imgCIF data
++ being processed. If the array is 2-dimensional and a 3D call is used,
++ ndimslow and ndimmid should be the
++
++ """
++ return _pycbf.cbf_handle_struct_get_real_3d_image_sf_as_string(self, *args)
++
++ def set_typeofvalue(self, *args):
++ """
++ Returns : string
++ *args :
++
++ C prototype: int cbf_set_typeofvalue (cbf_handle handle,
++ const char *typeofvalue);
++
++ CBFLib documentation:
++ DESCRIPTION
++ cbf_set_typeofvalue sets the type of the item at the current column
++ and row to the type specified by the ASCII character string given by
++ typeofvalue. The strings that may be used are:
++ "null " for a null value indicated by a ". " or a "? "
++ "bnry " for a binary value "word " for an unquoted string
++ "dblq " for a double-quoted string "sglq " for a single-quoted
++ string "text " for a semicolon-quoted string (multiline text
++ field) "prns " for a parenthesis-bracketed string (multiline text
++ field) "brcs " for a brace-bracketed string (multiline text field)
++ "bkts " for a square-bracket-bracketed string (multiline text
++ field) "tsqs " for a treble-single-quote quoted string (multiline
++ text field) "tdqs " for a treble-double-quote quoted string
++ (multiline text field)
++ Not all types may be used for all values. Not all types are valid for
++ all type of CIF files. In partcular the types "prns ", "brcs ",
++ "bkts " were introduced with DDLm and are not valid in DDL1 or
++ DDL2 CIFS. The types "tsqs " and "tdqs " are not formally part
++ of the CIF syntax. No changes may be made to the type of binary
++ values. You may not set the type of a string that contains a single
++ quote followed by a blank or a tab or which contains multiple lines
++ to "sglq ". You may not set the type of a string that contains a
++ double quote followed by a blank or a tab or which contains multiple
++ lines to "dblq ".
++ ARGUMENTS
++ handle CBF handle. typeofvalue ASCII string for desired type
++ of value.
++ RETURN VALUE
++ Returns an error code on failure or 0 for success.
++ SEE ALSO
++
++ """
++ return _pycbf.cbf_handle_struct_set_typeofvalue(self, *args)
++
++ def set_integerarray_wdims(self, *args):
++ """
++ Returns :
++ *args : int compression,int binary_id,(binary) String data,int elsize,
++ int elements,String byteorder,int dimfast,int dimmid,int dimslow,
++ int padding
++
++ C prototype: int cbf_set_integerarray_wdims (cbf_handle handle,
++ unsigned int compression, int binary_id, void *array,
++ size_t elsize, int elsigned, size_t elements,
++ const char *byteorder, size_t dimfast, size_t dimmid,
++ size_t dimslow, size_t padding);
++
++ CBFLib documentation:
++ DESCRIPTION
++ cbf_set_integerarray sets the binary value of the item at the current
++ column and row to an integer array. The array consists of elements
++ elements of elsize bytes each, starting at array. The elements are
++ signed if elsigned is non-0 and unsigned otherwise. binary_id is the
++ binary section identifier. cbf_set_realarray sets the binary value of
++ the item at the current column and row to an integer array. The array
++ consists of elements elements of elsize bytes each, starting at
++ array. binary_id is the binary section identifier.
++ The cbf_set_integerarray_wdims, cbf_set_integerarray_wdims_fs,
++ cbf_set_integerarray_wdims_sf, cbf_set_realarray_wdims,
++ cbf_set_realarray_wdims_fs and cbf_set_realarray_wdims_sf variants
++ allow the data header values of byteorder, dimfast, dimmid, dimslow
++ and padding to be set to the data byte order, the fastest, second
++ fastest and third fastest array dimensions and the size in byte of
++ the post data padding to be used.
++ The array will be compressed using the compression scheme specifed by
++ compression. Currently, the available schemes are:
++ CBF_CANONICAL Canonical-code compression (section 3.3.1)
++ CBF_PACKED CCP4-style packing (section 3.3.2) CBF_PACKED_V2
++ CCP4-style packing, version 2 (section 3.3.2) CBF_BYTE_OFFSET
++ Simple "byte_offset " compression. CBF_NONE No
++ compression. NOTE: This scheme is by far the slowest of the four and
++ uses much more disk space. It is intended for routine use with small
++ arrays only. With large arrays (like images) it should be used only
++ for debugging.
++ The values compressed are limited to 64 bits. If any element in the
++ array is larger than 64 bits, the value compressed is the nearest
++ 64-bit value.
++ Currently, the source array must consist of chars, shorts or ints
++ (signed or unsigned), for cbf_set_integerarray, or IEEE doubles or
++ floats for cbf_set_realarray. If elsize is not equal to sizeof
++ (char), sizeof (short) or sizeof (int), the function returns
++ CBF_ARGUMENT.
++ ARGUMENTS
++ handle CBF handle. compression Compression method to use.
++ binary_id Integer binary identifier. array Pointer to the
++ source array. elsize Size in bytes of each source array
++ element. elsigned Set to non-0 if the source array elements are
++ signed. elements: The number of elements in the array.
++ RETURN VALUE
++ Returns an error code on failure or 0 for success.
++ SEE ALSO
++
++ """
++ return _pycbf.cbf_handle_struct_set_integerarray_wdims(self, *args)
++
++ def set_integration_time(self, *args):
++ """
++ Returns :
++ *args : Float time
++
++ C prototype: int cbf_set_integration_time (cbf_handle handle,
++ unsigned int reserved, double time);
++
++ CBFLib documentation:
++ DESCRIPTION
++ cbf_set_integration_time sets the integration time in seconds to the
++ value specified by time. The parameter reserved is presently unused
++ and should be set to 0.
++ ARGUMENTS
++ handle CBF handle. reserved Unused. Any value
++ other than 0 is invalid. time Integration time in seconds.
++ RETURN VALUE
++ Returns an error code on failure or 0 for success.
++ ----------------------------------------------------------------------
++
++ """
++ return _pycbf.cbf_handle_struct_set_integration_time(self, *args)
++
++ def set_axis_setting(self, *args):
++ """
++ Returns :
++ *args : String axis_id,Float start,Float increment
++
++ C prototype: int cbf_set_axis_setting (cbf_handle handle,
++ unsigned int reserved, const char *axis_id, double start,
++ double increment);
++
++ CBFLib documentation:
++ DESCRIPTION
++ cbf_set_axis_setting sets the starting and increment values of the
++ axis axis_id to start and increment.
++ The parameter reserved is presently unused and should be set to 0.
++ ARGUMENTS
++ handle CBF handle. reserved Unused. Any value other than 0 is
++ invalid. axis_id Axis id. start Start value. increment
++ Increment value.
++ RETURN VALUE
++ Returns an error code on failure or 0 for success.
++ ----------------------------------------------------------------------
++
++ """
++ return _pycbf.cbf_handle_struct_set_axis_setting(self, *args)
++
++ def get_real_image_as_string(self, *args):
++ """
++ Returns : (Binary)String
++ *args : int element_number,int elsize,int ndimslow,int ndimfast
++
++ C prototype: int cbf_get_real_image (cbf_handle handle, unsigned int reserved,
++ unsigned int element_number, void *array, size_t elsize,
++ size_t ndimslow, size_t ndimfast);
++
++ CBFLib documentation:
++ DESCRIPTION
++ cbf_get_image, cbf_get_image_fs and cbf_get_image_sf read the image
++ array for element number element_number into an array. The array
++ consists of ndimslow *ndimfast elements of elsize bytes each,
++ starting at array. The elements are signed if elsign is non-0 and
++ unsigned otherwise. cbf_get_real_image, cbf_get_real_image_fs and
++ cbf_get_real_image_sf read the image array of IEEE doubles or floats
++ for element number element_number into an array. A real array is
++ always signed. cbf_get_3d_image, cbf_get_3d_image_fs and
++ cbf_get_3d_image_sf read the 3D image array for element number
++ element_number into an array. The array consists of ndimslow *ndimmid
++ *ndimfast elements of elsize bytes each, starting at array. The
++ elements are signed if elsign is non-0 and unsigned otherwise.
++ cbf_get_real_3d_image, cbf_get_real_3d_image_fs,
++ cbf_get_real_3d_image_sf reads the 3D image array of IEEE doubles or
++ floats for element number element_number into an array. A real array
++ is always signed.
++ The _fs calls give the dimensions in a fast-to-slow order. The calls
++ with no suffix and the calls _sf calls give the dimensions in
++ slow-to-fast order
++ The structure of the array as a 1-, 2- or 3-dimensional array should
++ agree with the structure of the array given in the
++ ARRAY_STRUCTURE_LIST category. If the array is 1-dimensional,
++ ndimslow should be the array size and ndimfast and, for the 3D calls,
++ ndimmid, should be set to 1 both in the call and in the imgCIF data
++ being processed. If the array is 2-dimensional and a 3D call is used,
++ ndimslow and ndimmid should be the
++
++ """
++ return _pycbf.cbf_handle_struct_get_real_image_as_string(self, *args)
++
++ def get_3d_image_sf_as_string(self, *args):
++ """
++ Returns : (Binary)String
++ *args : int element_number,int elsize,int elsign,int ndimslow,int ndimmid,
++ int ndimfast
++
++ C prototype: int cbf_get_3d_image_sf (cbf_handle handle,
++ unsigned int reserved, unsigned int element_number,
++ void *array, size_t elsize, int elsign, size_t ndimslow,
++ size_t ndimmid, size_t ndimfast);
++
++ CBFLib documentation:
++ DESCRIPTION
++ cbf_get_image, cbf_get_image_fs and cbf_get_image_sf read the image
++ array for element number element_number into an array. The array
++ consists of ndimslow *ndimfast elements of elsize bytes each,
++ starting at array. The elements are signed if elsign is non-0 and
++ unsigned otherwise. cbf_get_real_image, cbf_get_real_image_fs and
++ cbf_get_real_image_sf read the image array of IEEE doubles or floats
++ for element number element_number into an array. A real array is
++ always signed. cbf_get_3d_image, cbf_get_3d_image_fs and
++ cbf_get_3d_image_sf read the 3D image array for element number
++ element_number into an array. The array consists of ndimslow *ndimmid
++ *ndimfast elements of elsize bytes each, starting at array. The
++ elements are signed if elsign is non-0 and unsigned otherwise.
++ cbf_get_real_3d_image, cbf_get_real_3d_image_fs,
++ cbf_get_real_3d_image_sf reads the 3D image array of IEEE doubles or
++ floats for element number element_number into an array. A real array
++ is always signed.
++ The _fs calls give the dimensions in a fast-to-slow order. The calls
++ with no suffix and the calls _sf calls give the dimensions in
++ slow-to-fast order
++ The structure of the array as a 1-, 2- or 3-dimensional array should
++ agree with the structure of the array given in the
++ ARRAY_STRUCTURE_LIST category. If the array is 1-dimensional,
++ ndimslow should be the array size and ndimfast and, for the 3D calls,
++ ndimmid, should be set to 1 both in the call and in the imgCIF data
++ being processed. If the array is 2-dimensional and a 3D call is used,
++ ndimslow and ndimmid should be the
++
++ """
++ return _pycbf.cbf_handle_struct_get_3d_image_sf_as_string(self, *args)
++
++ def set_real_image_fs(self, *args):
++ """
++ Returns :
++ *args : int element_number,int compression,(binary) String data,int elsize,
++ int dimfast,int dimslow
++
++ C prototype: int cbf_set_real_image_fs(cbf_handle handle,
++ unsigned int reserved, unsigned int element_number,
++ unsigned int compression, void *array,size_t elsize,
++ size_t ndimfast, size_t ndimslow);
++
++ CBFLib documentation:
++ DESCRIPTION
++ cbf_set_image, cbf_set_image_fs and cbf_set_image_sf write the image
++ array for element number element_number. The array consists of
++ ndimfast *ndimslow elements of elsize bytes each, starting at array.
++ The elements are signed if elsign is non-zero and unsigned otherwise.
++ cbf_set_real_image, cbf_set_real_image_fs and cbf_set_real_image_sf
++ write the image array for element number element_number. The array
++ consists of ndimfast *ndimslow IEEE double or float elements of
++ elsize bytes each, starting at array. cbf_set_3d_image,
++ cbf_set_3d_image_fs and cbf_set_3d_image_sf write the 3D image array
++ for element number element_number. The array consists of ndimfast
++ *ndimmid *ndimslow elements of elsize bytes each, starting at array.
++ The elements are signed if elsign is non-0 and unsigned otherwise.
++ cbf_set_real_3d_image, cbf_set_real_3d_image_fs and
++ cbf_set_real_3d_image_sf writes the 3D image array for element number
++ element_number. The array consists of ndimfast *ndimmid *ndimslow
++ IEEE double or float elements of elsize bytes each, starting at
++ array.
++ The _fs calls give the dimensions in a fast-to-slow order. The calls
++ with no suffix and the calls _sf calls give the dimensions in
++ slow-to-fast order
++ If the array is 1-dimensional, ndimslow should be the array size and
++ ndimfast and, for the 3D calls, ndimmid, should be set to 1. If the
++ array is 2-dimensional and the 3D calls are used, ndimslow and
++ ndimmid should be used for the array dimensions and ndimfast should
++ be set to 1.
++ The array will be compressed using the compression scheme specifed by
++ compression. Currently, the available schemes are:
++ CBF_CANONICAL Canonical-code compression (section 3.3.1) CBF_PACKED
++ CCP4-style packing (section 3.3.2) CBF_PACKED_V2 CCP4-style
++ packing, version 2 (section 3.3.2) CBF_BYTE_OFFSET Simple
++ "byte_offset " compression. CBF_NONE No compression.
++ The values compressed are limited to 64 bits. If any element in the
++ array is larger than 64 bits, the value compressed is the nearest
++ 64-bit value.
++ Currently, the source array must consist of chars, shorts or ints
++ (signed or unsigned)for cbf_set_image, or IEEE doubles or floats for
++ cbf_set_real_image. If elsize is not equal to sizeof (short), sizeof
++ (int), sizeof(double) or sizeof(float), the function returns
++ CBF_ARGUMENT.
++ The parameter reserved is presently unused and should be set to 0.
++ ARGUMENTS
++ handle CBF handle. reserved Unused. Any value other
++ than 0 is invalid. element_number The number of the detector
++ element counting from 0 by order of appearance in the
++ "diffrn_data_frame " category. compression Compression type.
++ array Pointer to the image array. elsize Size in
++ bytes of each image array element. elsigned Set to non-0 if
++ the image array elements are signed. ndimslow Slowest array
++ dimension. ndimmid Second slowest array dimension. ndimfast
++ Fastest array dimension.
++ RETURN VALUE
++ Returns an error code on failure or 0 for success.
++ ----------------------------------------------------------------------
++
++ """
++ return _pycbf.cbf_handle_struct_set_real_image_fs(self, *args)
++
++ def get_overload(self, *args):
++ """
++ Returns : Float overload
++ *args : Integer element_number
++
++ C prototype: int cbf_get_overload (cbf_handle handle,
++ unsigned int element_number, double *overload);
++
++ CBFLib documentation:
++ DESCRIPTION
++ cbf_get_overload sets *overload to the overload value for element
++ number element_number.
++ ARGUMENTS
++ handle CBF handle. element_number The number of the
++ detector element counting from 0 by order of appearance in the
++ "diffrn_data_frame " category. overload Pointer to the
++ destination overload.
++ RETURN VALUE
++ Returns an error code on failure or 0 for success.
++ ----------------------------------------------------------------------
++
++ """
++ return _pycbf.cbf_handle_struct_get_overload(self, *args)
++
++ def get_wavelength(self, *args):
++ """
++ Returns : double
++ *args :
++
++ C prototype: int cbf_get_wavelength (cbf_handle handle, double *wavelength);
++
++ CBFLib documentation:
++ DESCRIPTION
++ cbf_get_wavelength sets *wavelength to the current wavelength in AA.
++ ARGUMENTS
++ handle CBF handle. wavelength Pointer to the destination.
++ RETURN VALUE
++ Returns an error code on failure or 0 for success.
++ ----------------------------------------------------------------------
++
++ """
++ return _pycbf.cbf_handle_struct_get_wavelength(self, *args)
++
++ def next_datablock(self, *args):
++ """
++ Returns :
++ *args :
++
++ C prototype: int cbf_next_datablock (cbf_handle handle);
++
++ CBFLib documentation:
++ DESCRIPTION
++ cbf_next_datablock makes the data block following the current data
++ block the current data block.
++ If there are no more data blocks, the function returns CBF_NOTFOUND.
++ The current category becomes undefined.
++ ARGUMENTS
++ handle CBF handle.
++ RETURN VALUE
++ Returns an error code on failure or 0 for success.
++ SEE ALSO
++
++ """
++ return _pycbf.cbf_handle_struct_next_datablock(self, *args)
++
++ def get_realarrayparameters_wdims(self):
++ """
++ Returns : int compression,int binary_id,int elsize,int elements,char **bo,
++ int *bolen,int dimfast,int dimmid,int dimslow,int padding
++ *args :
++
++ C prototype: int cbf_get_realarrayparameters_wdims (cbf_handle handle,
++ unsigned int *compression, int *binary_id, size_t *elsize,
++ size_t *elements, const char **byteorder, size_t *dimfast,
++ size_t *dimmid, size_t *dimslow, size_t *padding);
++
++ CBFLib documentation:
++ DESCRIPTION
++ cbf_get_integerarrayparameters sets *compression, *binary_id,
++ *elsize, *elsigned, *elunsigned, *elements, *minelement and
++ *maxelement to values read from the binary value of the item at the
++ current column and row. This provides all the arguments needed for a
++ subsequent call to cbf_set_integerarray, if a copy of the array is to
++ be made into another CIF or CBF. cbf_get_realarrayparameters sets
++ *compression, *binary_id, *elsize, *elements to values read from the
++ binary value of the item at the current column and row. This provides
++ all the arguments needed for a subsequent call to cbf_set_realarray,
++ if a copy of the arry is to be made into another CIF or CBF.
++ The variants cbf_get_integerarrayparameters_wdims,
++ cbf_get_integerarrayparameters_wdims_fs,
++ cbf_get_integerarrayparameters_wdims_sf,
++ cbf_get_realarrayparameters_wdims,
++ cbf_get_realarrayparameters_wdims_fs,
++ cbf_get_realarrayparameters_wdims_sf set **byteorder, *dimfast,
++ *dimmid, *dimslow, and *padding as well, providing the additional
++ parameters needed for a subsequent call to cbf_set_integerarray_wdims
++ or cbf_set_realarray_wdims.
++ The value returned in *byteorder is a pointer either to the string
++ "little_endian " or to the string "big_endian ". This should be
++ the byte order of the data, not necessarily of the host machine. No
++ attempt should be made to modify this string. At this time only
++ "little_endian " will be returned.
++ The values returned in *dimfast, *dimmid and *dimslow are the sizes
++ of the fastest changing, second fastest changing and third fastest
++ changing dimensions of the array, if specified, or zero, if not
++ specified.
++ The value returned in *padding is the size of the post-data padding,
++ if any and if specified in the data header. The value is given as a
++ count of octets.
++ If the value is not binary, the function returns CBF_ASCII.
++ ARGUMENTS
++ handle CBF handle. compression Compression method used.
++ elsize Size in bytes of each array element. binary_id
++ Pointer to the destination integer binary identifier. elsigned
++ Pointer to an integer. Set to 1 if the elements can be read as signed
++ integers. elunsigned Pointer to an integer. Set to 1 if the
++ elements can be read as unsigned integers. elements Pointer to
++ the destination number of elements. minelement Pointer to the
++ destination smallest element. maxelement Pointer to the
++ destination largest element. byteorder Pointer to the destination
++ byte order. dimfast Pointer to the destination fastest
++ dimension. dimmid Pointer to the destination second fastest
++ dimension. dimslow Pointer to the destination third fastest
++ dimension. padding Pointer to the destination padding size.
++ RETURN VALUE
++ Returns an error code on failure or 0 for success.
++ SEE ALSO
++
++ """
++ return _pycbf.cbf_handle_struct_get_realarrayparameters_wdims(self)
++
++ def set_orientation_matrix(self, *args):
++ """
++ Returns :
++ *args : Float matrix_0,Float matrix_1,Float matrix_2,Float matrix_3,
++ Float matrix_4,Float matrix_5,Float matrix_6,Float matrix_7,
++ Float matrix_8
++
++ C prototype: int cbf_set_orientation_matrix (cbf_handle handle,
++ double ub_matrix[9]);
++
++ CBFLib documentation:
++ DESCRIPTION
++ cbf_get_orientation_matrix sets ub_matrix to point to the array of
++ orientation matrix entries in the "diffrn " category in the order
++ of columns:
++ "UB[1][1] " "UB[1][2] " "UB[1][3] " "UB[2][1] "
++ "UB[2][2] " "UB[2][3] " "UB[3][1] " "UB[3][2] "
++ "UB[3][3] "
++ cbf_set_orientation_matrix sets the values in the "diffrn "
++ category to the values pointed to by ub_matrix.
++ ARGUMENTS
++ handle CBF handle. ubmatric Source or destination array of 9
++ doubles giving the orientation matrix parameters.
++ RETURN VALUE
++ Returns an error code on failure or 0 for success.
++ ----------------------------------------------------------------------
++
++ """
++ return _pycbf.cbf_handle_struct_set_orientation_matrix(self, *args)
++
++ def new_category(self, *args):
++ """
++ Returns : string
++ *args :
++
++ C prototype: int cbf_new_category (cbf_handle handle,
++ const char *categoryname);
++
++ CBFLib documentation:
++ DESCRIPTION
++ cbf_new_category creates a new category in the current data block
++ with name categoryname and makes it the current category.
++ If a category with this name already exists, the existing category
++ becomes the current category.
++ ARGUMENTS
++ handle CBF handle. categoryname The name of the new
++ category.
++ RETURN VALUE
++ Returns an error code on failure or 0 for success.
++ SEE ALSO
++
++ """
++ return _pycbf.cbf_handle_struct_new_category(self, *args)
++
++ def set_gain(self, *args):
++ """
++ Returns :
++ *args : Float gain,Float gain_esd
++
++ C prototype: int cbf_set_gain (cbf_handle handle, unsigned int element_number,
++ double gain, double gain_esd);
++
++ CBFLib documentation:
++ DESCRIPTION
++ cbf_set_gain sets the gain of element number element_number to the
++ values specified by gain and gain_esd.
++ ARGUMENTS
++ handle CBF handle. element_number The number of the
++ detector element counting from 0 by order of appearance in the
++ "diffrn_data_frame " category. gain New gain value.
++ gain_esd New gain_esd value.
++ RETURN VALUE
++ Returns an error code on failure or 0 for success.
++ ----------------------------------------------------------------------
++
++ """
++ return _pycbf.cbf_handle_struct_set_gain(self, *args)
++
++ def find_column(self, *args):
++ """
++ Returns : string
++ *args :
++
++ C prototype: int cbf_find_column (cbf_handle handle, const char *columnname);
++
++ CBFLib documentation:
++ DESCRIPTION
++ cbf_find_column makes the columns in the current category with name
++ columnname the current column.
++ The comparison is case-insensitive.
++ If the column does not exist, the function returns CBF_NOTFOUND.
++ The current row is not affected.
++ ARGUMENTS
++ handle CBF handle. columnname The name of column to find.
++ RETURN VALUE
++ Returns an error code on failure or 0 for success.
++ SEE ALSO
++
++ """
++ return _pycbf.cbf_handle_struct_find_column(self, *args)
++
++ def remove_category(self, *args):
++ """
++ Returns :
++ *args :
++
++ C prototype: int cbf_remove_category (cbf_handle handle);
++
++ CBFLib documentation:
++ DESCRIPTION
++ cbf_remove_category deletes the current category.
++ The current category becomes undefined.
++ ARGUMENTS
++ handle CBF handle.
++ RETURN VALUE
++ Returns an error code on failure or 0 for success.
++ SEE ALSO
++
++ """
++ return _pycbf.cbf_handle_struct_remove_category(self, *args)
++
++ def get_integerarrayparameters_wdims_sf(self):
++ """
++ Returns : int compression,int binary_id,int elsize,int elsigned,int elunsigned,
++ int elements,int minelement,int maxelement,char **bo,int *bolen,
++ int dimslow,int dimmid,int dimfast,int padding
++ *args :
++
++ C prototype: int cbf_get_integerarrayparameters_wdims_sf (cbf_handle handle,
++ unsigned int *compression, int *binary_id, size_t *elsize,
++ int *elsigned, int *elunsigned, size_t *elements,
++ int *minelement, int *maxelement, const char **byteorder,
++ size_t *dimslow, size_t *dimmid, size_t *dimfast,
++ size_t *padding);
++
++ CBFLib documentation:
++ DESCRIPTION
++ cbf_get_integerarrayparameters sets *compression, *binary_id,
++ *elsize, *elsigned, *elunsigned, *elements, *minelement and
++ *maxelement to values read from the binary value of the item at the
++ current column and row. This provides all the arguments needed for a
++ subsequent call to cbf_set_integerarray, if a copy of the array is to
++ be made into another CIF or CBF. cbf_get_realarrayparameters sets
++ *compression, *binary_id, *elsize, *elements to values read from the
++ binary value of the item at the current column and row. This provides
++ all the arguments needed for a subsequent call to cbf_set_realarray,
++ if a copy of the arry is to be made into another CIF or CBF.
++ The variants cbf_get_integerarrayparameters_wdims,
++ cbf_get_integerarrayparameters_wdims_fs,
++ cbf_get_integerarrayparameters_wdims_sf,
++ cbf_get_realarrayparameters_wdims,
++ cbf_get_realarrayparameters_wdims_fs,
++ cbf_get_realarrayparameters_wdims_sf set **byteorder, *dimfast,
++ *dimmid, *dimslow, and *padding as well, providing the additional
++ parameters needed for a subsequent call to cbf_set_integerarray_wdims
++ or cbf_set_realarray_wdims.
++ The value returned in *byteorder is a pointer either to the string
++ "little_endian " or to the string "big_endian ". This should be
++ the byte order of the data, not necessarily of the host machine. No
++ attempt should be made to modify this string. At this time only
++ "little_endian " will be returned.
++ The values returned in *dimfast, *dimmid and *dimslow are the sizes
++ of the fastest changing, second fastest changing and third fastest
++ changing dimensions of the array, if specified, or zero, if not
++ specified.
++ The value returned in *padding is the size of the post-data padding,
++ if any and if specified in the data header. The value is given as a
++ count of octets.
++ If the value is not binary, the function returns CBF_ASCII.
++ ARGUMENTS
++ handle CBF handle. compression Compression method used.
++ elsize Size in bytes of each array element. binary_id
++ Pointer to the destination integer binary identifier. elsigned
++ Pointer to an integer. Set to 1 if the elements can be read as signed
++ integers. elunsigned Pointer to an integer. Set to 1 if the
++ elements can be read as unsigned integers. elements Pointer to
++ the destination number of elements. minelement Pointer to the
++ destination smallest element. maxelement Pointer to the
++ destination largest element. byteorder Pointer to the destination
++ byte order. dimfast Pointer to the destination fastest
++ dimension. dimmid Pointer to the destination second fastest
++ dimension. dimslow Pointer to the destination third fastest
++ dimension. padding Pointer to the destination padding size.
++ RETURN VALUE
++ Returns an error code on failure or 0 for success.
++ SEE ALSO
++
++ """
++ return _pycbf.cbf_handle_struct_get_integerarrayparameters_wdims_sf(self)
++
++ def get_pixel_size(self, *args):
++ """
++ Returns : Float pixel_size
++ *args : Int element_number,Int axis_number
++
++ C prototype: int cbf_get_pixel_size (cbf_handle handle,
++ unsigned int element_number, int axis_number,
++ double *psize);
++
++ CBFLib documentation:
++ DESCRIPTION
++ cbf_get_pixel_size and cbf_get_pixel_size_sf set *psize to point to
++ the double value in millimeters of the axis axis_number of the
++ detector element element_number. The axis_number is numbered from 1,
++ starting with the slowest axis. cbf_get_pixel_size_fs sets *psize to
++ point to the double value in millimeters of the axis axis_number of
++ the detector element element_number. The axis_number is numbered from
++ 1, starting with the fastest axis.
++ If a negative axis number is given, the order of axes is reversed, so
++ that -1 specifies the slowest axis for cbf_get_pixel_size_fs and the
++ fastest axis for cbf_get_pixel_size_sf.
++ If the pixel size is not given explcitly in the "array_element_size
++ " category, the function returns CBF_NOTFOUND.
++ ARGUMENTS
++ handle CBF handle. element_number The number of the
++ detector element counting from 0 by order of appearance in the
++ "diffrn_data_frame " category. axis_number The number of the
++ axis, starting from 1 for the fastest for cbf_get_pixel_size and
++ cbf_get_pixel_size_fs and the slowest for cbf_get_pixel_size_sf.
++ psize Pointer to the destination pixel size.
++ RETURN VALUE
++ Returns an error code on failure or 0 for success.
++ ----------------------------------------------------------------------
++
++ """
++ return _pycbf.cbf_handle_struct_get_pixel_size(self, *args)
++
++ def set_real_image_sf(self, *args):
++ """
++ Returns :
++ *args : int element_number,int compression,(binary) String data,int elsize,
++ int dimslow,int dimfast
++
++ C prototype: int cbf_set_real_image_sf(cbf_handle handle,
++ unsigned int reserved, unsigned int element_number,
++ unsigned int compression, void *array,size_t elsize,
++ size_t ndimslow, size_t ndimfast);
++
++ CBFLib documentation:
++ DESCRIPTION
++ cbf_set_image, cbf_set_image_fs and cbf_set_image_sf write the image
++ array for element number element_number. The array consists of
++ ndimfast *ndimslow elements of elsize bytes each, starting at array.
++ The elements are signed if elsign is non-zero and unsigned otherwise.
++ cbf_set_real_image, cbf_set_real_image_fs and cbf_set_real_image_sf
++ write the image array for element number element_number. The array
++ consists of ndimfast *ndimslow IEEE double or float elements of
++ elsize bytes each, starting at array. cbf_set_3d_image,
++ cbf_set_3d_image_fs and cbf_set_3d_image_sf write the 3D image array
++ for element number element_number. The array consists of ndimfast
++ *ndimmid *ndimslow elements of elsize bytes each, starting at array.
++ The elements are signed if elsign is non-0 and unsigned otherwise.
++ cbf_set_real_3d_image, cbf_set_real_3d_image_fs and
++ cbf_set_real_3d_image_sf writes the 3D image array for element number
++ element_number. The array consists of ndimfast *ndimmid *ndimslow
++ IEEE double or float elements of elsize bytes each, starting at
++ array.
++ The _fs calls give the dimensions in a fast-to-slow order. The calls
++ with no suffix and the calls _sf calls give the dimensions in
++ slow-to-fast order
++ If the array is 1-dimensional, ndimslow should be the array size and
++ ndimfast and, for the 3D calls, ndimmid, should be set to 1. If the
++ array is 2-dimensional and the 3D calls are used, ndimslow and
++ ndimmid should be used for the array dimensions and ndimfast should
++ be set to 1.
++ The array will be compressed using the compression scheme specifed by
++ compression. Currently, the available schemes are:
++ CBF_CANONICAL Canonical-code compression (section 3.3.1) CBF_PACKED
++ CCP4-style packing (section 3.3.2) CBF_PACKED_V2 CCP4-style
++ packing, version 2 (section 3.3.2) CBF_BYTE_OFFSET Simple
++ "byte_offset " compression. CBF_NONE No compression.
++ The values compressed are limited to 64 bits. If any element in the
++ array is larger than 64 bits, the value compressed is the nearest
++ 64-bit value.
++ Currently, the source array must consist of chars, shorts or ints
++ (signed or unsigned)for cbf_set_image, or IEEE doubles or floats for
++ cbf_set_real_image. If elsize is not equal to sizeof (short), sizeof
++ (int), sizeof(double) or sizeof(float), the function returns
++ CBF_ARGUMENT.
++ The parameter reserved is presently unused and should be set to 0.
++ ARGUMENTS
++ handle CBF handle. reserved Unused. Any value other
++ than 0 is invalid. element_number The number of the detector
++ element counting from 0 by order of appearance in the
++ "diffrn_data_frame " category. compression Compression type.
++ array Pointer to the image array. elsize Size in
++ bytes of each image array element. elsigned Set to non-0 if
++ the image array elements are signed. ndimslow Slowest array
++ dimension. ndimmid Second slowest array dimension. ndimfast
++ Fastest array dimension.
++ RETURN VALUE
++ Returns an error code on failure or 0 for success.
++ ----------------------------------------------------------------------
++
++ """
++ return _pycbf.cbf_handle_struct_set_real_image_sf(self, *args)
++
++ def require_category(self, *args):
++ """
++ Returns : string
++ *args :
++
++ C prototype: int cbf_require_category (cbf_handle handle,
++ const char *categoryname);
++
++ CBFLib documentation:
++ DESCRIPTION
++ cbf_rewuire_category makes the category in the current data block
++ with name categoryname the current category, if it exists, or creates
++ the catagory if it does not exist.
++ The comparison is case-insensitive.
++ The current column and row become undefined.
++ ARGUMENTS
++ handle CBF handle. categoryname The name of the category to
++ find.
++ RETURN VALUE
++ Returns an error code on failure or 0 for success.
++ SEE ALSO
++
++ """
++ return _pycbf.cbf_handle_struct_require_category(self, *args)
++
++ def get_reciprocal_cell(self):
++ """
++ Returns : Float astar,Float bstar,Float cstar,Float alphastar,Float betastar,
++ Float gammastar
++ *args :
++
++ C prototype: int cbf_get_reciprocal_cell (cbf_handle handle, double cell[6],
++ double cell_esd[6] );
++
++ CBFLib documentation:
++ DESCRIPTION
++ cbf_get_reciprocal_cell sets cell[0:2] to the double values of the
++ reciprocal cell edge lengths a*, b* and c* in AAngstroms-1, cell[3:5]
++ to the double values of the reciprocal cell angles a*, b* and g* in
++ degrees, cell_esd[0:2] to the double values of the estimated
++ strandard deviations of the reciprocal cell edge lengths a*, b* and
++ c* in AAngstroms-1, cell_esd[3:5] to the double values of the
++ estimated standard deviations of the the reciprocal cell angles a*,
++ b* and g* in degrees.
++ The values returned are retrieved from the first row of the "cell
++ " category. The value of "_cell.entry_id " is ignored.
++ cell or cell_esd may be NULL.
++ If cell is NULL, the reciprocal cell parameters are not retrieved.
++ If cell_esd is NULL, the reciprocal cell parameter esds are not
++ retrieved.
++ If the "cell " category is present, but some of the values are
++ missing, zeros are returned for the missing values.
++ ARGUMENTS
++ handle CBF handle. cell Pointer to the destination array of
++ 6 doubles for the reciprocal cell parameters. cell_esd Pointer to
++ the destination array of 6 doubles for the reciprocal cell parameter
++ esds.
++ RETURN VALUE
++ Returns an error code on failure or 0 for success. No errors is
++ returned for missing values if the "cell " category exists.
++ SEE ALSO
++
++ """
++ return _pycbf.cbf_handle_struct_get_reciprocal_cell(self)
++
++ def get_reciprocal_cell_esd(self):
++ """get_reciprocal_cell_esd(self)"""
++ return _pycbf.cbf_handle_struct_get_reciprocal_cell_esd(self)
++
++ def get_3d_image_size(self, *args):
++ """
++ Returns : size_t ndimslow,size_t ndimmid,size_t ndimfast
++ *args : Integer element_number
++
++ C prototype: int cbf_get_3d_image_size (cbf_handle handle,
++ unsigned int reserved, unsigned int element_number,
++ size_t *ndimslow, size_t *ndimmid, size_t *ndimfast);
++
++ CBFLib documentation:
++ DESCRIPTION
++ cbf_get_image_size, cbf_get_image_size_fs and cbf_get_image_size_sf
++ set *ndimslow and *ndimfast to the slow and fast dimensions of the
++ image array for element number element_number. If the array is
++ 1-dimensional, *ndimslow will be set to the array size and *ndimfast
++ will be set to 1. If the array is 3-dimensional an error code will be
++ returned. cbf_get_3d_image_size, cbf_get_3d_image_size_fs and
++ cbf_get_3d_image_size_sf set *ndimslow, *ndimmid and *ndimfast to the
++ slowest, next fastest and fastest dimensions, respectively, of the 3D
++ image array for element number element_number. If the array is
++ 1-dimensional, *ndimslow will be set to the array size and *ndimmid
++ and
++
++ """
++ return _pycbf.cbf_handle_struct_get_3d_image_size(self, *args)
++
++ def find_tag_root(self, *args):
++ """
++ Returns : String tagroot
++ *args : String tagname
++
++ C prototype: int cbf_find_tag_root (cbf_handle handle, const char* tagname,
++ const char** tagroot);
++
++ CBFLib documentation:
++ DESCRIPTION
++ cbf_find_tag_root sets *tagroot to the root tag of which tagname is
++ an alias. cbf_set_tag_root sets tagname as an alias of tagroot_in in
++ the dictionary associated with handle, creating the dictionary if
++ necessary. cbf_require_tag_root sets *tagroot to the root tag of
++ which tagname is an alias, if there is one, or to the value of
++ tagname, if tagname is not an alias.
++ A returned tagroot string must not be modified in any way.
++ ARGUMENTS
++ handle CBF handle. tagname tag name which may be an alias.
++ tagroot pointer to a returned tag root name. tagroot_in input
++ tag root name.
++ RETURN VALUE
++ Returns an error code on failure or 0 for success.
++ ----------------------------------------------------------------------
++
++ """
++ return _pycbf.cbf_handle_struct_find_tag_root(self, *args)
++
++ def require_category_root(self, *args):
++ """require_category_root(self, char categoryname) -> char"""
++ return _pycbf.cbf_handle_struct_require_category_root(self, *args)
++
++ def set_realarray_wdims_sf(self, *args):
++ """
++ Returns :
++ *args : int compression,int binary_id,(binary) String data,int elsize,
++ int elements,String byteorder,int dimslow,int dimmid,int dimfast,
++ int padding
++
++ C prototype: int cbf_set_realarray_wdims_sf (cbf_handle handle,
++ unsigned int compression, int binary_id, void *array,
++ size_t elsize, size_t elements, const char *byteorder,
++ size_t dimslow, size_t dimmid, size_t dimfast,
++ size_t padding);
++
++ CBFLib documentation:
++ DESCRIPTION
++ cbf_set_integerarray sets the binary value of the item at the current
++ column and row to an integer array. The array consists of elements
++ elements of elsize bytes each, starting at array. The elements are
++ signed if elsigned is non-0 and unsigned otherwise. binary_id is the
++ binary section identifier. cbf_set_realarray sets the binary value of
++ the item at the current column and row to an integer array. The array
++ consists of elements elements of elsize bytes each, starting at
++ array. binary_id is the binary section identifier.
++ The cbf_set_integerarray_wdims, cbf_set_integerarray_wdims_fs,
++ cbf_set_integerarray_wdims_sf, cbf_set_realarray_wdims,
++ cbf_set_realarray_wdims_fs and cbf_set_realarray_wdims_sf variants
++ allow the data header values of byteorder, dimfast, dimmid, dimslow
++ and padding to be set to the data byte order, the fastest, second
++ fastest and third fastest array dimensions and the size in byte of
++ the post data padding to be used.
++ The array will be compressed using the compression scheme specifed by
++ compression. Currently, the available schemes are:
++ CBF_CANONICAL Canonical-code compression (section 3.3.1)
++ CBF_PACKED CCP4-style packing (section 3.3.2) CBF_PACKED_V2
++ CCP4-style packing, version 2 (section 3.3.2) CBF_BYTE_OFFSET
++ Simple "byte_offset " compression. CBF_NONE No
++ compression. NOTE: This scheme is by far the slowest of the four and
++ uses much more disk space. It is intended for routine use with small
++ arrays only. With large arrays (like images) it should be used only
++ for debugging.
++ The values compressed are limited to 64 bits. If any element in the
++ array is larger than 64 bits, the value compressed is the nearest
++ 64-bit value.
++ Currently, the source array must consist of chars, shorts or ints
++ (signed or unsigned), for cbf_set_integerarray, or IEEE doubles or
++ floats for cbf_set_realarray. If elsize is not equal to sizeof
++ (char), sizeof (short) or sizeof (int), the function returns
++ CBF_ARGUMENT.
++ ARGUMENTS
++ handle CBF handle. compression Compression method to use.
++ binary_id Integer binary identifier. array Pointer to the
++ source array. elsize Size in bytes of each source array
++ element. elsigned Set to non-0 if the source array elements are
++ signed. elements: The number of elements in the array.
++ RETURN VALUE
++ Returns an error code on failure or 0 for success.
++ SEE ALSO
++
++ """
++ return _pycbf.cbf_handle_struct_set_realarray_wdims_sf(self, *args)
++
++ def set_integervalue(self, *args):
++ """
++ Returns : int number
++ *args :
++
++ C prototype: int cbf_set_integervalue (cbf_handle handle, int number);
++
++ CBFLib documentation:
++ DESCRIPTION
++ cbf_set_integervalue sets the item at the current column and row to
++ the integer value number written as a decimal ASCII string.
++ ARGUMENTS
++ handle CBF handle. number Integer value.
++ RETURN VALUE
++ Returns an error code on failure or 0 for success.
++ SEE ALSO
++
++ """
++ return _pycbf.cbf_handle_struct_set_integervalue(self, *args)
++
++ def category_name(self, *args):
++ """
++ Returns :
++ *args : string
++
++ C prototype: int cbf_category_name (cbf_handle handle,
++ const char **categoryname);
++
++ CBFLib documentation:
++ DESCRIPTION
++ cbf_category_name sets *categoryname to point to the name of the
++ current category of the current data block.
++ The category name will be valid as long as the category exists.
++ The name must not be modified by the program in any way.
++ ARGUMENTS
++ handle CBF handle. categoryname Pointer to the destination
++ category name pointer.
++ RETURN VALUE
++ Returns an error code on failure or 0 for success.
++ SEE ALSO
++
++ """
++ return _pycbf.cbf_handle_struct_category_name(self, *args)
++
++ def get_typeofvalue(self, *args):
++ """
++ Returns :
++ *args : string
++
++ C prototype: int cbf_get_typeofvalue (cbf_handle handle,
++ const char **typeofvalue);
++
++ CBFLib documentation:
++ DESCRIPTION
++ cbf_get_value sets *typeofvalue to point an ASCII descriptor of the
++ value of the item at the current column and row. The strings that may
++ be returned are:
++ "null " for a null value indicated by a ". " or a "? "
++ "bnry " for a binary value "word " for an unquoted string
++ "dblq " for a double-quoted string "sglq " for a single-quoted
++ string "text " for a semicolon-quoted string (multiline text
++ field) "prns " for a parenthesis-bracketed string (multiline text
++ field) "brcs " for a brace-bracketed string (multiline text field)
++ "bkts " for a square-bracket-bracketed string (multiline text
++ field) "tsqs " for a treble-single-quote quoted string (multiline
++ text field) "tdqs " for a treble-double-quote quoted string
++ (multiline text field)
++ Not all types are valid for all type of CIF files. In partcular the
++ types "prns ", "brcs ", "bkts " were introduced with DDLm
++ and are not valid in DDL1 or DDL2 CIFS. The types "tsqs " and
++ "tdqs " are not formally part of the CIF syntax. A field for which
++ no value has been set sets *typeofvalue to NULL rather than to the
++ string "null ".
++ The typeofvalue must not be modified by the program in any way.
++ ARGUMENTS
++ handle CBF handle. typeofvalue Pointer to the destination
++ type-of-value string pointer.
++ RETURN VALUE
++ Returns an error code on failure or 0 for success.
++ SEE ALSO
++
++ """
++ return _pycbf.cbf_handle_struct_get_typeofvalue(self, *args)
++
++ def set_real_image(self, *args):
++ """
++ Returns :
++ *args : int element_number,int compression,(binary) String data,int elsize,
++ int dimslow,int dimfast
++
++ C prototype: int cbf_set_real_image (cbf_handle handle, unsigned int reserved,
++ unsigned int element_number, unsigned int compression,
++ void *array,size_t elsize, size_t ndimslow,
++ size_t ndimfast);
++
++ CBFLib documentation:
++ DESCRIPTION
++ cbf_set_image, cbf_set_image_fs and cbf_set_image_sf write the image
++ array for element number element_number. The array consists of
++ ndimfast *ndimslow elements of elsize bytes each, starting at array.
++ The elements are signed if elsign is non-zero and unsigned otherwise.
++ cbf_set_real_image, cbf_set_real_image_fs and cbf_set_real_image_sf
++ write the image array for element number element_number. The array
++ consists of ndimfast *ndimslow IEEE double or float elements of
++ elsize bytes each, starting at array. cbf_set_3d_image,
++ cbf_set_3d_image_fs and cbf_set_3d_image_sf write the 3D image array
++ for element number element_number. The array consists of ndimfast
++ *ndimmid *ndimslow elements of elsize bytes each, starting at array.
++ The elements are signed if elsign is non-0 and unsigned otherwise.
++ cbf_set_real_3d_image, cbf_set_real_3d_image_fs and
++ cbf_set_real_3d_image_sf writes the 3D image array for element number
++ element_number. The array consists of ndimfast *ndimmid *ndimslow
++ IEEE double or float elements of elsize bytes each, starting at
++ array.
++ The _fs calls give the dimensions in a fast-to-slow order. The calls
++ with no suffix and the calls _sf calls give the dimensions in
++ slow-to-fast order
++ If the array is 1-dimensional, ndimslow should be the array size and
++ ndimfast and, for the 3D calls, ndimmid, should be set to 1. If the
++ array is 2-dimensional and the 3D calls are used, ndimslow and
++ ndimmid should be used for the array dimensions and ndimfast should
++ be set to 1.
++ The array will be compressed using the compression scheme specifed by
++ compression. Currently, the available schemes are:
++ CBF_CANONICAL Canonical-code compression (section 3.3.1) CBF_PACKED
++ CCP4-style packing (section 3.3.2) CBF_PACKED_V2 CCP4-style
++ packing, version 2 (section 3.3.2) CBF_BYTE_OFFSET Simple
++ "byte_offset " compression. CBF_NONE No compression.
++ The values compressed are limited to 64 bits. If any element in the
++ array is larger than 64 bits, the value compressed is the nearest
++ 64-bit value.
++ Currently, the source array must consist of chars, shorts or ints
++ (signed or unsigned)for cbf_set_image, or IEEE doubles or floats for
++ cbf_set_real_image. If elsize is not equal to sizeof (short), sizeof
++ (int), sizeof(double) or sizeof(float), the function returns
++ CBF_ARGUMENT.
++ The parameter reserved is presently unused and should be set to 0.
++ ARGUMENTS
++ handle CBF handle. reserved Unused. Any value other
++ than 0 is invalid. element_number The number of the detector
++ element counting from 0 by order of appearance in the
++ "diffrn_data_frame " category. compression Compression type.
++ array Pointer to the image array. elsize Size in
++ bytes of each image array element. elsigned Set to non-0 if
++ the image array elements are signed. ndimslow Slowest array
++ dimension. ndimmid Second slowest array dimension. ndimfast
++ Fastest array dimension.
++ RETURN VALUE
++ Returns an error code on failure or 0 for success.
++ ----------------------------------------------------------------------
++
++ """
++ return _pycbf.cbf_handle_struct_set_real_image(self, *args)
++
++ def get_3d_image_as_string(self, *args):
++ """
++ Returns : (Binary)String
++ *args : int element_number,int elsize,int elsign,int ndimslow,int ndimmid,
++ int ndimfast
++
++ C prototype: int cbf_get_3d_image (cbf_handle handle, unsigned int reserved,
++ unsigned int element_number, void *array, size_t elsize,
++ int elsign, size_t ndimslow, size_t ndimmid,
++ size_t ndimfast);
++
++ CBFLib documentation:
++ DESCRIPTION
++ cbf_get_image, cbf_get_image_fs and cbf_get_image_sf read the image
++ array for element number element_number into an array. The array
++ consists of ndimslow *ndimfast elements of elsize bytes each,
++ starting at array. The elements are signed if elsign is non-0 and
++ unsigned otherwise. cbf_get_real_image, cbf_get_real_image_fs and
++ cbf_get_real_image_sf read the image array of IEEE doubles or floats
++ for element number element_number into an array. A real array is
++ always signed. cbf_get_3d_image, cbf_get_3d_image_fs and
++ cbf_get_3d_image_sf read the 3D image array for element number
++ element_number into an array. The array consists of ndimslow *ndimmid
++ *ndimfast elements of elsize bytes each, starting at array. The
++ elements are signed if elsign is non-0 and unsigned otherwise.
++ cbf_get_real_3d_image, cbf_get_real_3d_image_fs,
++ cbf_get_real_3d_image_sf reads the 3D image array of IEEE doubles or
++ floats for element number element_number into an array. A real array
++ is always signed.
++ The _fs calls give the dimensions in a fast-to-slow order. The calls
++ with no suffix and the calls _sf calls give the dimensions in
++ slow-to-fast order
++ The structure of the array as a 1-, 2- or 3-dimensional array should
++ agree with the structure of the array given in the
++ ARRAY_STRUCTURE_LIST category. If the array is 1-dimensional,
++ ndimslow should be the array size and ndimfast and, for the 3D calls,
++ ndimmid, should be set to 1 both in the call and in the imgCIF data
++ being processed. If the array is 2-dimensional and a 3D call is used,
++ ndimslow and ndimmid should be the
++
++ """
++ return _pycbf.cbf_handle_struct_get_3d_image_as_string(self, *args)
++
++ def remove_row(self, *args):
++ """
++ Returns :
++ *args :
++
++ C prototype: int cbf_remove_row (cbf_handle handle);
++
++ CBFLib documentation:
++ DESCRIPTION
++ cbf_remove_row deletes the current row in the current category.
++ If the current row was the last row, it will move down by 1,
++ otherwise, it will remain the same.
++ ARGUMENTS
++ handle CBF handle.
++ RETURN VALUE
++ Returns an error code on failure or 0 for success.
++ SEE ALSO
++
++ """
++ return _pycbf.cbf_handle_struct_remove_row(self, *args)
++
++ def set_overload(self, *args):
++ """
++ Returns :
++ *args : Integer element_number,Float overload
++
++ C prototype: int cbf_set_overload (cbf_handle handle,
++ unsigned int element_number, double overload);
++
++ CBFLib documentation:
++ DESCRIPTION
++ cbf_set_overload sets the overload value of element number
++ element_number to overload.
++ ARGUMENTS
++ handle CBF handle. element_number The number of the
++ detector element counting from 0 by order of appearance in the
++ "diffrn_data_frame " category. overload New overload value.
++ RETURN VALUE
++ Returns an error code on failure or 0 for success.
++ ----------------------------------------------------------------------
++
++ """
++ return _pycbf.cbf_handle_struct_set_overload(self, *args)
++
++ def get_image_size(self, *args):
++ """
++ Returns : size_t ndim1,size_t ndim2
++ *args : Integer element_number
++
++ C prototype: int cbf_get_image_size (cbf_handle handle, unsigned int reserved,
++ unsigned int element_number, size_t *ndimslow,
++ size_t *ndimfast);
++
++ CBFLib documentation:
++ DESCRIPTION
++ cbf_get_image_size, cbf_get_image_size_fs and cbf_get_image_size_sf
++ set *ndimslow and *ndimfast to the slow and fast dimensions of the
++ image array for element number element_number. If the array is
++ 1-dimensional, *ndimslow will be set to the array size and *ndimfast
++ will be set to 1. If the array is 3-dimensional an error code will be
++ returned. cbf_get_3d_image_size, cbf_get_3d_image_size_fs and
++ cbf_get_3d_image_size_sf set *ndimslow, *ndimmid and *ndimfast to the
++ slowest, next fastest and fastest dimensions, respectively, of the 3D
++ image array for element number element_number. If the array is
++ 1-dimensional, *ndimslow will be set to the array size and *ndimmid
++ and
++
++ """
++ return _pycbf.cbf_handle_struct_get_image_size(self, *args)
++
++ def set_3d_image_sf(self, *args):
++ """
++ Returns :
++ *args : int element_number,int compression,(binary) String data,int elsize,
++ int elsign,int dimslow,int dimmid,int dimfast
++
++ C prototype: int cbf_set_3d_image_sf(cbf_handle handle, unsigned int reserved,
++ unsigned int element_number, unsigned int compression,
++ void *array, size_t elsize, int elsign, size_t ndimslow,
++ size_t ndimmid, size_t ndimfast);
++
++ CBFLib documentation:
++ DESCRIPTION
++ cbf_set_image, cbf_set_image_fs and cbf_set_image_sf write the image
++ array for element number element_number. The array consists of
++ ndimfast *ndimslow elements of elsize bytes each, starting at array.
++ The elements are signed if elsign is non-zero and unsigned otherwise.
++ cbf_set_real_image, cbf_set_real_image_fs and cbf_set_real_image_sf
++ write the image array for element number element_number. The array
++ consists of ndimfast *ndimslow IEEE double or float elements of
++ elsize bytes each, starting at array. cbf_set_3d_image,
++ cbf_set_3d_image_fs and cbf_set_3d_image_sf write the 3D image array
++ for element number element_number. The array consists of ndimfast
++ *ndimmid *ndimslow elements of elsize bytes each, starting at array.
++ The elements are signed if elsign is non-0 and unsigned otherwise.
++ cbf_set_real_3d_image, cbf_set_real_3d_image_fs and
++ cbf_set_real_3d_image_sf writes the 3D image array for element number
++ element_number. The array consists of ndimfast *ndimmid *ndimslow
++ IEEE double or float elements of elsize bytes each, starting at
++ array.
++ The _fs calls give the dimensions in a fast-to-slow order. The calls
++ with no suffix and the calls _sf calls give the dimensions in
++ slow-to-fast order
++ If the array is 1-dimensional, ndimslow should be the array size and
++ ndimfast and, for the 3D calls, ndimmid, should be set to 1. If the
++ array is 2-dimensional and the 3D calls are used, ndimslow and
++ ndimmid should be used for the array dimensions and ndimfast should
++ be set to 1.
++ The array will be compressed using the compression scheme specifed by
++ compression. Currently, the available schemes are:
++ CBF_CANONICAL Canonical-code compression (section 3.3.1) CBF_PACKED
++ CCP4-style packing (section 3.3.2) CBF_PACKED_V2 CCP4-style
++ packing, version 2 (section 3.3.2) CBF_BYTE_OFFSET Simple
++ "byte_offset " compression. CBF_NONE No compression.
++ The values compressed are limited to 64 bits. If any element in the
++ array is larger than 64 bits, the value compressed is the nearest
++ 64-bit value.
++ Currently, the source array must consist of chars, shorts or ints
++ (signed or unsigned)for cbf_set_image, or IEEE doubles or floats for
++ cbf_set_real_image. If elsize is not equal to sizeof (short), sizeof
++ (int), sizeof(double) or sizeof(float), the function returns
++ CBF_ARGUMENT.
++ The parameter reserved is presently unused and should be set to 0.
++ ARGUMENTS
++ handle CBF handle. reserved Unused. Any value other
++ than 0 is invalid. element_number The number of the detector
++ element counting from 0 by order of appearance in the
++ "diffrn_data_frame " category. compression Compression type.
++ array Pointer to the image array. elsize Size in
++ bytes of each image array element. elsigned Set to non-0 if
++ the image array elements are signed. ndimslow Slowest array
++ dimension. ndimmid Second slowest array dimension. ndimfast
++ Fastest array dimension.
++ RETURN VALUE
++ Returns an error code on failure or 0 for success.
++ ----------------------------------------------------------------------
++
++ """
++ return _pycbf.cbf_handle_struct_set_3d_image_sf(self, *args)
++
++ def get_real_image_sf_as_string(self, *args):
++ """
++ Returns : (Binary)String
++ *args : int element_number,int elsize,int ndimslow,int ndimfast
++
++ C prototype: int cbf_get_real_image_sf (cbf_handle handle,
++ unsigned int reserved, unsigned int element_number,
++ void *array, size_t elsize, size_t ndimslow,
++ size_t ndimfast);
++
++ CBFLib documentation:
++ DESCRIPTION
++ cbf_get_image, cbf_get_image_fs and cbf_get_image_sf read the image
++ array for element number element_number into an array. The array
++ consists of ndimslow *ndimfast elements of elsize bytes each,
++ starting at array. The elements are signed if elsign is non-0 and
++ unsigned otherwise. cbf_get_real_image, cbf_get_real_image_fs and
++ cbf_get_real_image_sf read the image array of IEEE doubles or floats
++ for element number element_number into an array. A real array is
++ always signed. cbf_get_3d_image, cbf_get_3d_image_fs and
++ cbf_get_3d_image_sf read the 3D image array for element number
++ element_number into an array. The array consists of ndimslow *ndimmid
++ *ndimfast elements of elsize bytes each, starting at array. The
++ elements are signed if elsign is non-0 and unsigned otherwise.
++ cbf_get_real_3d_image, cbf_get_real_3d_image_fs,
++ cbf_get_real_3d_image_sf reads the 3D image array of IEEE doubles or
++ floats for element number element_number into an array. A real array
++ is always signed.
++ The _fs calls give the dimensions in a fast-to-slow order. The calls
++ with no suffix and the calls _sf calls give the dimensions in
++ slow-to-fast order
++ The structure of the array as a 1-, 2- or 3-dimensional array should
++ agree with the structure of the array given in the
++ ARRAY_STRUCTURE_LIST category. If the array is 1-dimensional,
++ ndimslow should be the array size and ndimfast and, for the 3D calls,
++ ndimmid, should be set to 1 both in the call and in the imgCIF data
++ being processed. If the array is 2-dimensional and a 3D call is used,
++ ndimslow and ndimmid should be the
++
++ """
++ return _pycbf.cbf_handle_struct_get_real_image_sf_as_string(self, *args)
++
++ def get_image_as_string(self, *args):
++ """
++ Returns : (Binary)String
++ *args : int element_number,int elsize,int elsign,int ndimslow,int ndimfast
++
++ C prototype: int cbf_get_image (cbf_handle handle, unsigned int reserved,
++ unsigned int element_number, void *array, size_t elsize,
++ int elsign, size_t ndimslow, size_t ndimfast);
++
++ CBFLib documentation:
++ DESCRIPTION
++ cbf_get_image, cbf_get_image_fs and cbf_get_image_sf read the image
++ array for element number element_number into an array. The array
++ consists of ndimslow *ndimfast elements of elsize bytes each,
++ starting at array. The elements are signed if elsign is non-0 and
++ unsigned otherwise. cbf_get_real_image, cbf_get_real_image_fs and
++ cbf_get_real_image_sf read the image array of IEEE doubles or floats
++ for element number element_number into an array. A real array is
++ always signed. cbf_get_3d_image, cbf_get_3d_image_fs and
++ cbf_get_3d_image_sf read the 3D image array for element number
++ element_number into an array. The array consists of ndimslow *ndimmid
++ *ndimfast elements of elsize bytes each, starting at array. The
++ elements are signed if elsign is non-0 and unsigned otherwise.
++ cbf_get_real_3d_image, cbf_get_real_3d_image_fs,
++ cbf_get_real_3d_image_sf reads the 3D image array of IEEE doubles or
++ floats for element number element_number into an array. A real array
++ is always signed.
++ The _fs calls give the dimensions in a fast-to-slow order. The calls
++ with no suffix and the calls _sf calls give the dimensions in
++ slow-to-fast order
++ The structure of the array as a 1-, 2- or 3-dimensional array should
++ agree with the structure of the array given in the
++ ARRAY_STRUCTURE_LIST category. If the array is 1-dimensional,
++ ndimslow should be the array size and ndimfast and, for the 3D calls,
++ ndimmid, should be set to 1 both in the call and in the imgCIF data
++ being processed. If the array is 2-dimensional and a 3D call is used,
++ ndimslow and ndimmid should be the
++
++ """
++ return _pycbf.cbf_handle_struct_get_image_as_string(self, *args)
++
++ def set_tag_root(self, *args):
++ """
++ Returns :
++ *args : String tagname,String tagroot_in
++
++ C prototype: int cbf_set_tag_root (cbf_handle handle, const char* tagname,
++ const char*tagroot_in);
++
++ CBFLib documentation:
++ DESCRIPTION
++ cbf_find_tag_root sets *tagroot to the root tag of which tagname is
++ an alias. cbf_set_tag_root sets tagname as an alias of tagroot_in in
++ the dictionary associated with handle, creating the dictionary if
++ necessary. cbf_require_tag_root sets *tagroot to the root tag of
++ which tagname is an alias, if there is one, or to the value of
++ tagname, if tagname is not an alias.
++ A returned tagroot string must not be modified in any way.
++ ARGUMENTS
++ handle CBF handle. tagname tag name which may be an alias.
++ tagroot pointer to a returned tag root name. tagroot_in input
++ tag root name.
++ RETURN VALUE
++ Returns an error code on failure or 0 for success.
++ ----------------------------------------------------------------------
++
++ """
++ return _pycbf.cbf_handle_struct_set_tag_root(self, *args)
++
++ def write_widefile(self, *args):
++ """
++ Returns :
++ *args : String filename,Integer ciforcbf,Integer Headers,Integer encoding
++
++ C prototype: int cbf_write_widefile (cbf_handle handle, FILE *file,
++ int readable, int ciforcbf, int flags, int encoding);
++
++ CBFLib documentation:
++ DESCRIPTION
++ cbf_write_file writes the CBF object specified by handle into the
++ file file, following CIF 1.0 conventions of 80 character lines.
++ cbf_write_widefile writes the CBF object specified by handle into the
++ file file, following CIF 1.1 conventions of 2048 character lines. A
++ warning is issued to stderr for ascii lines over the limit, and an
++ attempt is made to fold lines to fit. No test is performed on binary
++ sections.
++ If a dictionary has been provided, aliases will be applied on output.
++ Unlike cbf_read_file, the file does not have to be random-access.
++ If the file is random-access and readable, readable can be set to
++ non-0 to indicate to CBFlib that the file can be used as a buffer to
++ conserve disk space. If the file is not random-access or not
++ readable, readable must be 0.
++
++ """
++ return _pycbf.cbf_handle_struct_write_widefile(self, *args)
++
++ def count_rows(self, *args):
++ """
++ Returns : Integer
++ *args :
++
++ C prototype: int cbf_count_rows (cbf_handle handle, unsigned int *rows);
++
++ CBFLib documentation:
++ DESCRIPTION
++ cbf_count_rows puts the number of rows in the current category in
++ *rows .
++ ARGUMENTS
++ handle CBF handle. rows Pointer to the destination row count.
++ RETURN VALUE
++ Returns an error code on failure or 0 for success.
++ SEE ALSO
++
++ """
++ return _pycbf.cbf_handle_struct_count_rows(self, *args)
++
++ def require_datablock(self, *args):
++ """
++ Returns : string
++ *args :
++
++ C prototype: int cbf_require_datablock (cbf_handle handle,
++ const char *datablockname);
++
++ CBFLib documentation:
++ DESCRIPTION
++ cbf_require_datablock makes the data block with name datablockname
++ the current data block, if it exists, or creates it if it does not.
++ The comparison is case-insensitive.
++ The current category becomes undefined.
++ ARGUMENTS
++ handle CBF handle. datablockname The name of the data
++ block to find or create.
++ RETURN VALUE
++ Returns an error code on failure or 0 for success.
++ SEE ALSO
++
++ """
++ return _pycbf.cbf_handle_struct_require_datablock(self, *args)
++
++ def set_integerarray(self, *args):
++ """
++ Returns :
++ *args : int compression,int binary_id,(binary) String data,int elsize,
++ int elsigned,int elements
++
++ C prototype: int cbf_set_integerarray (cbf_handle handle,
++ unsigned int compression, int binary_id, void *array,
++ size_t elsize, int elsigned, size_t elements);
++
++ CBFLib documentation:
++ DESCRIPTION
++ cbf_set_integerarray sets the binary value of the item at the current
++ column and row to an integer array. The array consists of elements
++ elements of elsize bytes each, starting at array. The elements are
++ signed if elsigned is non-0 and unsigned otherwise. binary_id is the
++ binary section identifier. cbf_set_realarray sets the binary value of
++ the item at the current column and row to an integer array. The array
++ consists of elements elements of elsize bytes each, starting at
++ array. binary_id is the binary section identifier.
++ The cbf_set_integerarray_wdims, cbf_set_integerarray_wdims_fs,
++ cbf_set_integerarray_wdims_sf, cbf_set_realarray_wdims,
++ cbf_set_realarray_wdims_fs and cbf_set_realarray_wdims_sf variants
++ allow the data header values of byteorder, dimfast, dimmid, dimslow
++ and padding to be set to the data byte order, the fastest, second
++ fastest and third fastest array dimensions and the size in byte of
++ the post data padding to be used.
++ The array will be compressed using the compression scheme specifed by
++ compression. Currently, the available schemes are:
++ CBF_CANONICAL Canonical-code compression (section 3.3.1)
++ CBF_PACKED CCP4-style packing (section 3.3.2) CBF_PACKED_V2
++ CCP4-style packing, version 2 (section 3.3.2) CBF_BYTE_OFFSET
++ Simple "byte_offset " compression. CBF_NONE No
++ compression. NOTE: This scheme is by far the slowest of the four and
++ uses much more disk space. It is intended for routine use with small
++ arrays only. With large arrays (like images) it should be used only
++ for debugging.
++ The values compressed are limited to 64 bits. If any element in the
++ array is larger than 64 bits, the value compressed is the nearest
++ 64-bit value.
++ Currently, the source array must consist of chars, shorts or ints
++ (signed or unsigned), for cbf_set_integerarray, or IEEE doubles or
++ floats for cbf_set_realarray. If elsize is not equal to sizeof
++ (char), sizeof (short) or sizeof (int), the function returns
++ CBF_ARGUMENT.
++ ARGUMENTS
++ handle CBF handle. compression Compression method to use.
++ binary_id Integer binary identifier. array Pointer to the
++ source array. elsize Size in bytes of each source array
++ element. elsigned Set to non-0 if the source array elements are
++ signed. elements: The number of elements in the array.
++ RETURN VALUE
++ Returns an error code on failure or 0 for success.
++ SEE ALSO
++
++ """
++ return _pycbf.cbf_handle_struct_set_integerarray(self, *args)
++
++ def new_datablock(self, *args):
++ """
++ Returns : string
++ *args :
++
++ C prototype: int cbf_new_datablock (cbf_handle handle,
++ const char *datablockname);
++
++ CBFLib documentation:
++ DESCRIPTION
++ cbf_new_datablock creates a new data block with name datablockname
++ and makes it the current data block. cbf_new_saveframe creates a new
++ save frame with name saveframename within the current data block and
++ makes the new save frame the current save frame.
++ If a data block or save frame with this name already exists, the
++ existing data block or save frame becomes the current data block or
++ save frame.
++ ARGUMENTS
++ handle CBF handle. datablockname The name of the new data
++ block. saveframename The name of the new save frame.
++ RETURN VALUE
++ Returns an error code on failure or 0 for success.
++ SEE ALSO
++
++ """
++ return _pycbf.cbf_handle_struct_new_datablock(self, *args)
++
++ def set_datestamp(self, *args):
++ """
++ Returns :
++ *args : int year,int month,int day,int hour,int minute,double second,
++ int timezone,Float precision
++
++ C prototype: int cbf_set_datestamp (cbf_handle handle, unsigned int reserved,
++ int year, int month, int day, int hour, int minute,
++ double second, int timezone, double precision);
++
++ CBFLib documentation:
++ DESCRIPTION
++ cbf_set_datestamp sets the collection timestamp in seconds since
++ January 1 1970 to the value specified by time. The timezone
++ difference from UTC
++
++ """
++ return _pycbf.cbf_handle_struct_set_datestamp(self, *args)
++
++ def next_row(self, *args):
++ """
++ Returns :
++ *args :
++
++ C prototype: int cbf_next_row (cbf_handle handle);
++
++ CBFLib documentation:
++ DESCRIPTION
++ cbf_next_row makes the row following the current row in the current
++ category the current row.
++ If there are no more rows, the function returns CBF_NOTFOUND.
++ The current column is not affected.
++ ARGUMENTS
++ handle CBF handle.
++ RETURN VALUE
++ Returns an error code on failure or 0 for success.
++ SEE ALSO
++
++ """
++ return _pycbf.cbf_handle_struct_next_row(self, *args)
++
++ def set_category_root(self, *args):
++ """
++ Returns :
++ *args : String categoryname,String categoryroot
++
++ C prototype: int cbf_set_category_root (cbf_handle handle,
++ const char* categoryname_in, const char*categoryroot);
++
++ CBFLib documentation:
++ DESCRIPTION
++ cbf_find_category_root sets *categoryroot to the root category of
++ which categoryname is an alias. cbf_set_category_root sets
++ categoryname_in as an alias of categoryroot in the dictionary
++ associated with handle, creating the dictionary if necessary.
++ cbf_require_category_root sets *categoryroot to the root category of
++ which categoryname is an alias, if there is one, or to the value of
++ categoryname, if categoryname is not an alias.
++ A returned categoryroot string must not be modified in any way.
++ ARGUMENTS
++ handle CBF handle. categoryname category name which
++ may be an alias. categoryroot pointer to a returned category
++ root name. categoryroot_in input category root name.
++ RETURN VALUE
++ Returns an error code on failure or 0 for success.
++ ----------------------------------------------------------------------
++
++ """
++ return _pycbf.cbf_handle_struct_set_category_root(self, *args)
++
++ def set_pixel_size_fs(self, *args):
++ """
++ Returns :
++ *args : Int element_number,Int axis_number,Float pixel size
++
++ C prototype: int cbf_set_pixel_size_fs(cbf_handle handle,
++ unsigned int element_number, int axis_number,
++ double psize);
++
++ CBFLib documentation:
++ DESCRIPTION
++ cbf_set_pixel_size and cbf_set_pixel_size_sf set the item in the
++ "e;size"e; column of the "array_structure_list " category
++ at the row which matches axis axis_number of the detector element
++ element_number converting the double pixel size psize from meters to
++ millimeters in storing it in the "size " column for the axis
++ axis_number of the detector element element_number. The axis_number
++ is numbered from 1, starting with the slowest axis.
++ cbf_set_pixel_size_fs sets the item
++
++ """
++ return _pycbf.cbf_handle_struct_set_pixel_size_fs(self, *args)
++
++ def insert_row(self, *args):
++ """
++ Returns :
++ *args : Integer
++
++ C prototype: int cbf_insert_row (cbf_handle handle, unsigned int rownumber);
++
++ CBFLib documentation:
++ DESCRIPTION
++ cbf_insert_row adds a new row to the current category. The new row is
++ inserted as row rownumber and existing rows starting from rownumber
++ are moved up by 1. The new row becomes the current row.
++ If the category has fewer than rownumber rows, the function returns
++ CBF_NOTFOUND.
++ The row numbers start from 0.
++ ARGUMENTS
++ handle CBF handle. rownumber The row number of the new row.
++ RETURN VALUE
++ Returns an error code on failure or 0 for success.
++ SEE ALSO
++
++ """
++ return _pycbf.cbf_handle_struct_insert_row(self, *args)
++
++ def new_column(self, *args):
++ """
++ Returns : string
++ *args :
++
++ C prototype: int cbf_new_column (cbf_handle handle, const char *columnname);
++
++ CBFLib documentation:
++ DESCRIPTION
++ cbf_new_column creates a new column in the current category with name
++ columnname and makes it the current column.
++ If a column with this name already exists, the existing column
++ becomes the current category.
++ ARGUMENTS
++ handle CBF handle. columnname The name of the new column.
++ RETURN VALUE
++ Returns an error code on failure or 0 for success.
++ SEE ALSO
++
++ """
++ return _pycbf.cbf_handle_struct_new_column(self, *args)
++
++ def get_real_3d_image_as_string(self, *args):
++ """
++ Returns : (Binary)String
++ *args : int element_number,int elsize,int ndimslow,int ndimmid,int ndimfast
++
++ C prototype: int cbf_get_real_3d_image (cbf_handle handle,
++ unsigned int reserved, unsigned int element_number,
++ void *array, size_t elsize, size_t ndimslow,
++ size_t ndimmid, size_t ndimfast);
++
++ CBFLib documentation:
++ DESCRIPTION
++ cbf_get_image, cbf_get_image_fs and cbf_get_image_sf read the image
++ array for element number element_number into an array. The array
++ consists of ndimslow *ndimfast elements of elsize bytes each,
++ starting at array. The elements are signed if elsign is non-0 and
++ unsigned otherwise. cbf_get_real_image, cbf_get_real_image_fs and
++ cbf_get_real_image_sf read the image array of IEEE doubles or floats
++ for element number element_number into an array. A real array is
++ always signed. cbf_get_3d_image, cbf_get_3d_image_fs and
++ cbf_get_3d_image_sf read the 3D image array for element number
++ element_number into an array. The array consists of ndimslow *ndimmid
++ *ndimfast elements of elsize bytes each, starting at array. The
++ elements are signed if elsign is non-0 and unsigned otherwise.
++ cbf_get_real_3d_image, cbf_get_real_3d_image_fs,
++ cbf_get_real_3d_image_sf reads the 3D image array of IEEE doubles or
++ floats for element number element_number into an array. A real array
++ is always signed.
++ The _fs calls give the dimensions in a fast-to-slow order. The calls
++ with no suffix and the calls _sf calls give the dimensions in
++ slow-to-fast order
++ The structure of the array as a 1-, 2- or 3-dimensional array should
++ agree with the structure of the array given in the
++ ARRAY_STRUCTURE_LIST category. If the array is 1-dimensional,
++ ndimslow should be the array size and ndimfast and, for the 3D calls,
++ ndimmid, should be set to 1 both in the call and in the imgCIF data
++ being processed. If the array is 2-dimensional and a 3D call is used,
++ ndimslow and ndimmid should be the
++
++ """
++ return _pycbf.cbf_handle_struct_get_real_3d_image_as_string(self, *args)
++
++ def get_integration_time(self):
++ """
++ Returns : Float time
++ *args :
++
++ C prototype: int cbf_get_integration_time (cbf_handle handle,
++ unsigned int reserved, double *time);
++
++ CBFLib documentation:
++ DESCRIPTION
++ cbf_get_integration_time sets *time to the integration time in
++ seconds. The parameter reserved is presently unused and should be set
++ to 0.
++ ARGUMENTS
++ handle CBF handle. reserved Unused. Any value other than 0 is
++ invalid. time Pointer to the destination time.
++ RETURN VALUE
++ Returns an error code on failure or 0 for success.
++ ----------------------------------------------------------------------
++
++ """
++ return _pycbf.cbf_handle_struct_get_integration_time(self)
++
++ def set_realarray(self, *args):
++ """
++ Returns :
++ *args : int compression,int binary_id,(binary) String data,int elsize,
++ int elements
++
++ C prototype: int cbf_set_realarray (cbf_handle handle,
++ unsigned int compression, int binary_id, void *array,
++ size_t elsize, size_t elements);
++
++ CBFLib documentation:
++ DESCRIPTION
++ cbf_set_integerarray sets the binary value of the item at the current
++ column and row to an integer array. The array consists of elements
++ elements of elsize bytes each, starting at array. The elements are
++ signed if elsigned is non-0 and unsigned otherwise. binary_id is the
++ binary section identifier. cbf_set_realarray sets the binary value of
++ the item at the current column and row to an integer array. The array
++ consists of elements elements of elsize bytes each, starting at
++ array. binary_id is the binary section identifier.
++ The cbf_set_integerarray_wdims, cbf_set_integerarray_wdims_fs,
++ cbf_set_integerarray_wdims_sf, cbf_set_realarray_wdims,
++ cbf_set_realarray_wdims_fs and cbf_set_realarray_wdims_sf variants
++ allow the data header values of byteorder, dimfast, dimmid, dimslow
++ and padding to be set to the data byte order, the fastest, second
++ fastest and third fastest array dimensions and the size in byte of
++ the post data padding to be used.
++ The array will be compressed using the compression scheme specifed by
++ compression. Currently, the available schemes are:
++ CBF_CANONICAL Canonical-code compression (section 3.3.1)
++ CBF_PACKED CCP4-style packing (section 3.3.2) CBF_PACKED_V2
++ CCP4-style packing, version 2 (section 3.3.2) CBF_BYTE_OFFSET
++ Simple "byte_offset " compression. CBF_NONE No
++ compression. NOTE: This scheme is by far the slowest of the four and
++ uses much more disk space. It is intended for routine use with small
++ arrays only. With large arrays (like images) it should be used only
++ for debugging.
++ The values compressed are limited to 64 bits. If any element in the
++ array is larger than 64 bits, the value compressed is the nearest
++ 64-bit value.
++ Currently, the source array must consist of chars, shorts or ints
++ (signed or unsigned), for cbf_set_integerarray, or IEEE doubles or
++ floats for cbf_set_realarray. If elsize is not equal to sizeof
++ (char), sizeof (short) or sizeof (int), the function returns
++ CBF_ARGUMENT.
++ ARGUMENTS
++ handle CBF handle. compression Compression method to use.
++ binary_id Integer binary identifier. array Pointer to the
++ source array. elsize Size in bytes of each source array
++ element. elsigned Set to non-0 if the source array elements are
++ signed. elements: The number of elements in the array.
++ RETURN VALUE
++ Returns an error code on failure or 0 for success.
++ SEE ALSO
++
++ """
++ return _pycbf.cbf_handle_struct_set_realarray(self, *args)
++
++ def get_element_id(self, *args):
++ """
++ Returns : String
++ *args : Integer element_number
++
++ C prototype: int cbf_get_element_id (cbf_handle handle,
++ unsigned int element_number, const char **element_id);
++
++ CBFLib documentation:
++ DESCRIPTION
++ cbf_get_element_id sets *element_id to point to the ASCII value of
++ the element_number'th "diffrn_data_frame.detector_element_id "
++ entry, counting from 0.
++ If the detector element does not exist, the function returns
++ CBF_NOTFOUND.
++ The element_id will be valid as long as the item exists and has not
++ been set to a new value.
++ The element_id must not be modified by the program in any way.
++ ARGUMENTS
++ handle CBF handle. element_number The number of the
++ detector element counting from 0 by order of appearance in the
++ "diffrn_data_frame " category. element_id Pointer to the
++ destination.
++ RETURN VALUE
++ Returns an error code on failure or 0 for success.
++ ----------------------------------------------------------------------
++
++ """
++ return _pycbf.cbf_handle_struct_get_element_id(self, *args)
++
++ def get_image_sf_as_string(self, *args):
++ """
++ Returns : (Binary)String
++ *args : int element_number,int elsize,int elsign,int ndimslow,int ndimfast
++
++ C prototype: int cbf_get_image_sf (cbf_handle handle, unsigned int reserved,
++ unsigned int element_number, void *array, size_t elsize,
++ int elsign, size_t ndimslow, size_t ndimfast);
++
++ CBFLib documentation:
++ DESCRIPTION
++ cbf_get_image, cbf_get_image_fs and cbf_get_image_sf read the image
++ array for element number element_number into an array. The array
++ consists of ndimslow *ndimfast elements of elsize bytes each,
++ starting at array. The elements are signed if elsign is non-0 and
++ unsigned otherwise. cbf_get_real_image, cbf_get_real_image_fs and
++ cbf_get_real_image_sf read the image array of IEEE doubles or floats
++ for element number element_number into an array. A real array is
++ always signed. cbf_get_3d_image, cbf_get_3d_image_fs and
++ cbf_get_3d_image_sf read the 3D image array for element number
++ element_number into an array. The array consists of ndimslow *ndimmid
++ *ndimfast elements of elsize bytes each, starting at array. The
++ elements are signed if elsign is non-0 and unsigned otherwise.
++ cbf_get_real_3d_image, cbf_get_real_3d_image_fs,
++ cbf_get_real_3d_image_sf reads the 3D image array of IEEE doubles or
++ floats for element number element_number into an array. A real array
++ is always signed.
++ The _fs calls give the dimensions in a fast-to-slow order. The calls
++ with no suffix and the calls _sf calls give the dimensions in
++ slow-to-fast order
++ The structure of the array as a 1-, 2- or 3-dimensional array should
++ agree with the structure of the array given in the
++ ARRAY_STRUCTURE_LIST category. If the array is 1-dimensional,
++ ndimslow should be the array size and ndimfast and, for the 3D calls,
++ ndimmid, should be set to 1 both in the call and in the imgCIF data
++ being processed. If the array is 2-dimensional and a 3D call is used,
++ ndimslow and ndimmid should be the
++
++ """
++ return _pycbf.cbf_handle_struct_get_image_sf_as_string(self, *args)
++
++ def construct_positioner(self, *args):
++ """
++ Returns : pycbf positioner object
++ *args : String axis_id
++
++ C prototype: int cbf_construct_positioner (cbf_handle handle,
++ cbf_positioner *positioner, const char *axis_id);
++
++ CBFLib documentation:
++ DESCRIPTION
++ cbf_construct_positioner constructs a positioner object for the axis
++ given by axis_id using the description in the CBF object handle and
++ initialises the positioner handle *positioner.
++ cbf_construct_reference positioner constructs a positioner object for
++ the axis given by axis_id using the description in the CBF object
++ handle and initialises the detector handle *detector using the
++ reference settings of the axes.
++ ARGUMENTS
++ handle CBF handle. detector Pointer to the destination detector
++ handle. axis_id The identifier of the axis in the "axis "
++ category.
++ RETURN VALUE
++ Returns an error code on failure or 0 for success.
++ ----------------------------------------------------------------------
++
++ """
++ return _pycbf.cbf_handle_struct_construct_positioner(self, *args)
++
++ def get_3d_image_size_fs(self, *args):
++ """get_3d_image_size_fs(self, unsigned int element_number)"""
++ return _pycbf.cbf_handle_struct_get_3d_image_size_fs(self, *args)
++
++ def set_value(self, *args):
++ """
++ Returns : string
++ *args :
++
++ C prototype: int cbf_set_value (cbf_handle handle, const char *value);
++
++ CBFLib documentation:
++ DESCRIPTION
++ cbf_set_value sets the item at the current column and row to the
++ ASCII value value.
++ ARGUMENTS
++ handle CBF handle. value ASCII value.
++ RETURN VALUE
++ Returns an error code on failure or 0 for success.
++ SEE ALSO
++
++ """
++ return _pycbf.cbf_handle_struct_set_value(self, *args)
++
++ def set_current_timestamp(self, *args):
++ """
++ Returns :
++ *args : Integer timezone
++
++ C prototype: int cbf_set_current_timestamp (cbf_handle handle,
++ unsigned int reserved, int timezone);
++
++ CBFLib documentation:
++ DESCRIPTION
++ cbf_set_current_timestamp sets the collection timestamp to the
++ current time. The timezone difference from UTC in minutes is set to
++ timezone. If no timezone is desired, timezone should be
++ CBF_NOTIMEZONE. If no timezone is used, the timest amp will be UTC.
++ The parameter reserved is presently unused and should be set to 0.
++ The new timestamp will have a precision of 1 second.
++ ARGUMENTS
++ handle CBF handle. reserved Unused. Any value other than 0 is
++ invalid. timezone Timezone difference from UTC in minutes or
++ CBF_NOTIMEZONE.
++ RETURN VALUE
++ Returns an error code on failure or 0 for success.
++ ----------------------------------------------------------------------
++
++ """
++ return _pycbf.cbf_handle_struct_set_current_timestamp(self, *args)
++
++ def require_doublevalue(self, *args):
++ """
++ Returns : Float Number
++ *args : Float Default
++
++ C prototype: int cbf_require_doublevalue (cbf_handle handle, double *number,
++ double defaultvalue);
++
++ CBFLib documentation:
++ DESCRIPTION
++ cbf_get_doublevalue sets *number to the value of the ASCII item at
++ the current column and row interpreted as a decimal floating-point
++ number. cbf_require_doublevalue sets *number to the value of the
++ ASCII item at the current column and row interpreted as a decimal
++ floating-point number, setting it to defaultvalue if necessary.
++ If the value is not ASCII, the function returns CBF_BINARY.
++ ARGUMENTS
++ handle CBF handle. number Pointer to the destination
++ number. defaultvalue default number value.
++ RETURN VALUE
++ Returns an error code on failure or 0 for success.
++ SEE ALSO
++
++ """
++ return _pycbf.cbf_handle_struct_require_doublevalue(self, *args)
++
++ def rewind_datablock(self, *args):
++ """
++ Returns :
++ *args :
++
++ C prototype: int cbf_rewind_datablock (cbf_handle handle);
++
++ CBFLib documentation:
++ DESCRIPTION
++ cbf_rewind_datablock makes the first data block the current data
++ block.
++ If there are no data blocks, the function returns CBF_NOTFOUND.
++ The current category becomes undefined.
++ ARGUMENTS
++ handle CBF handle.
++ RETURN VALUE
++ Returns an error code on failure or 0 for success.
++ SEE ALSO
++
++ """
++ return _pycbf.cbf_handle_struct_rewind_datablock(self, *args)
++
++ def require_column_value(self, *args):
++ """
++ Returns : String Name
++ *args : String columnnanme,String Default
++
++ C prototype: int cbf_require_column_value (cbf_handle handle,
++ const char *columnname, const char **value,
++ const char *defaultvalue);
++
++ CBFLib documentation:
++ DESCRIPTION
++ cbf_require_column_doublevalue sets *value to the ASCII item at the
++ current row for the column given with the name given by *columnname,
++ or to the string given by defaultvalue if the item cannot be found.
++ ARGUMENTS
++ handle CBF handle. columnname Name of the column
++ containing the number. value pointer to the location to
++ receive the value. defaultvalue Value to use if the requested
++ column and value cannot be found.
++ RETURN VALUE
++ Returns an error code on failure or 0 for success.
++ SEE ALSO
++
++ """
++ return _pycbf.cbf_handle_struct_require_column_value(self, *args)
++
++ def get_dictionary(self):
++ """
++ Returns : CBFHandle dictionary
++ *args :
++
++ C prototype: int cbf_get_dictionary (cbf_handle handle,
++ cbf_handle * dictionary);
++
++ CBFLib documentation:
++ DESCRIPTION
++ cbf_get_dictionary sets *dictionary to the handle of a CBF which has
++ been associated with the CBF handle by cbf_set_dictionary.
++ cbf_set_dictionary associates the CBF handle dictionary_in with
++ handle as its dictionary. cbf_require_dictionary sets *dictionary to
++ the handle of a CBF which has been associated with the CBF handle by
++ cbf_set_dictionary or creates a new empty CBF and associates it with
++ handle, returning the new handle in *dictionary.
++ ARGUMENTS
++ handle CBF handle. dictionary Pointer to CBF handle of
++ dictionary. dictionary_in CBF handle of dcitionary.
++ RETURN VALUE
++ Returns an error code on failure or 0 for success.
++ ----------------------------------------------------------------------
++
++ """
++ return _pycbf.cbf_handle_struct_get_dictionary(self)
++
++ def reset_saveframe(self, *args):
++ """
++ Returns :
++ *args :
++
++ C prototype: int cbf_reset_saveframe (cbf_handle handle);
++
++ CBFLib documentation:
++ DESCRIPTION
++ cbf_reset_datablock deletes all categories from the current data
++ block. cbf_reset_saveframe deletes all categories from the current
++ save frame.
++ ARGUMENTS
++ handle CBF handle.
++ RETURN VALUE
++ Returns an error code on failure or 0 for success.
++ SEE ALSO
++
++ """
++ return _pycbf.cbf_handle_struct_reset_saveframe(self, *args)
++
++ def set_reciprocal_cell(self, *args):
++ """
++ Returns :
++ *args : double cell[6]
++
++ C prototype: int cbf_set_reciprocal_cell (cbf_handle handle, double cell[6],
++ double cell_esd[6] );
++
++ CBFLib documentation:
++ DESCRIPTION
++ cbf_set_reciprocal_cell sets the reciprocal cell parameters to the
++ double values given in cell[0:2] for the reciprocal cell edge lengths
++ a*, b* and c* in AAngstroms-1, the double values given in cell[3:5]
++ for the reciprocal cell angles a*, b* and g* in degrees, the double
++ values given in cell_esd[0:2] for the estimated strandard deviations
++ of the reciprocal cell edge lengths a*, b* and c* in AAngstroms, and
++ the double values given in cell_esd[3:5] for the estimated standard
++ deviations of the reciprocal cell angles a*, b* and g* in degrees.
++ The values are placed in the first row of the "cell " category. If
++ no value has been given for "_cell.entry_id ", it is set to the
++ value of the "diffrn.id " entry of the current data block.
++ cell or cell_esd may be NULL.
++ If cell is NULL, the reciprocal cell parameters are not set.
++ If cell_esd is NULL, the reciprocal cell parameter esds are not set.
++ If the "cell " category is not present, it is created. If any of
++ the necessary columns are not present, they are created.
++ ARGUMENTS
++ handle CBF handle. cell Pointer to the array of 6 doubles
++ for the reciprocal cell parameters. cell_esd Pointer to the array
++ of 6 doubles for the reciprocal cell parameter esds.
++ RETURN VALUE
++ Returns an error code on failure or 0 for success.
++ SEE ALSO
++
++ """
++ return _pycbf.cbf_handle_struct_set_reciprocal_cell(self, *args)
++
++ def set_reciprocal_cell_esd(self, *args):
++ """
++ Returns :
++ *args : double cell_esd[6]
++
++ C prototype: int cbf_set_reciprocal_cell (cbf_handle handle, double cell[6],
++ double cell_esd[6] );
++
++ CBFLib documentation:
++ DESCRIPTION
++ cbf_set_reciprocal_cell sets the reciprocal cell parameters to the
++ double values given in cell[0:2] for the reciprocal cell edge lengths
++ a*, b* and c* in AAngstroms-1, the double values given in cell[3:5]
++ for the reciprocal cell angles a*, b* and g* in degrees, the double
++ values given in cell_esd[0:2] for the estimated strandard deviations
++ of the reciprocal cell edge lengths a*, b* and c* in AAngstroms, and
++ the double values given in cell_esd[3:5] for the estimated standard
++ deviations of the reciprocal cell angles a*, b* and g* in degrees.
++ The values are placed in the first row of the "cell " category. If
++ no value has been given for "_cell.entry_id ", it is set to the
++ value of the "diffrn.id " entry of the current data block.
++ cell or cell_esd may be NULL.
++ If cell is NULL, the reciprocal cell parameters are not set.
++ If cell_esd is NULL, the reciprocal cell parameter esds are not set.
++ If the "cell " category is not present, it is created. If any of
++ the necessary columns are not present, they are created.
++ ARGUMENTS
++ handle CBF handle. cell Pointer to the array of 6 doubles
++ for the reciprocal cell parameters. cell_esd Pointer to the array
++ of 6 doubles for the reciprocal cell parameter esds.
++ RETURN VALUE
++ Returns an error code on failure or 0 for success.
++ SEE ALSO
++
++ """
++ return _pycbf.cbf_handle_struct_set_reciprocal_cell_esd(self, *args)
++
++ def set_real_3d_image_fs(self, *args):
++ """
++ Returns :
++ *args : int element_number,int compression,(binary) String data,int elsize,
++ int dimfast,int dimmid,int dimslow
++
++ C prototype: int cbf_set_real_3d_image_fs(cbf_handle handle,
++ unsigned int reserved, unsigned int element_number,
++ unsigned int compression, void *array,size_t elsize,
++ size_t ndimfast, size_t ndimmid, size_t ndimslow);
++
++ CBFLib documentation:
++ DESCRIPTION
++ cbf_set_image, cbf_set_image_fs and cbf_set_image_sf write the image
++ array for element number element_number. The array consists of
++ ndimfast *ndimslow elements of elsize bytes each, starting at array.
++ The elements are signed if elsign is non-zero and unsigned otherwise.
++ cbf_set_real_image, cbf_set_real_image_fs and cbf_set_real_image_sf
++ write the image array for element number element_number. The array
++ consists of ndimfast *ndimslow IEEE double or float elements of
++ elsize bytes each, starting at array. cbf_set_3d_image,
++ cbf_set_3d_image_fs and cbf_set_3d_image_sf write the 3D image array
++ for element number element_number. The array consists of ndimfast
++ *ndimmid *ndimslow elements of elsize bytes each, starting at array.
++ The elements are signed if elsign is non-0 and unsigned otherwise.
++ cbf_set_real_3d_image, cbf_set_real_3d_image_fs and
++ cbf_set_real_3d_image_sf writes the 3D image array for element number
++ element_number. The array consists of ndimfast *ndimmid *ndimslow
++ IEEE double or float elements of elsize bytes each, starting at
++ array.
++ The _fs calls give the dimensions in a fast-to-slow order. The calls
++ with no suffix and the calls _sf calls give the dimensions in
++ slow-to-fast order
++ If the array is 1-dimensional, ndimslow should be the array size and
++ ndimfast and, for the 3D calls, ndimmid, should be set to 1. If the
++ array is 2-dimensional and the 3D calls are used, ndimslow and
++ ndimmid should be used for the array dimensions and ndimfast should
++ be set to 1.
++ The array will be compressed using the compression scheme specifed by
++ compression. Currently, the available schemes are:
++ CBF_CANONICAL Canonical-code compression (section 3.3.1) CBF_PACKED
++ CCP4-style packing (section 3.3.2) CBF_PACKED_V2 CCP4-style
++ packing, version 2 (section 3.3.2) CBF_BYTE_OFFSET Simple
++ "byte_offset " compression. CBF_NONE No compression.
++ The values compressed are limited to 64 bits. If any element in the
++ array is larger than 64 bits, the value compressed is the nearest
++ 64-bit value.
++ Currently, the source array must consist of chars, shorts or ints
++ (signed or unsigned)for cbf_set_image, or IEEE doubles or floats for
++ cbf_set_real_image. If elsize is not equal to sizeof (short), sizeof
++ (int), sizeof(double) or sizeof(float), the function returns
++ CBF_ARGUMENT.
++ The parameter reserved is presently unused and should be set to 0.
++ ARGUMENTS
++ handle CBF handle. reserved Unused. Any value other
++ than 0 is invalid. element_number The number of the detector
++ element counting from 0 by order of appearance in the
++ "diffrn_data_frame " category. compression Compression type.
++ array Pointer to the image array. elsize Size in
++ bytes of each image array element. elsigned Set to non-0 if
++ the image array elements are signed. ndimslow Slowest array
++ dimension. ndimmid Second slowest array dimension. ndimfast
++ Fastest array dimension.
++ RETURN VALUE
++ Returns an error code on failure or 0 for success.
++ ----------------------------------------------------------------------
++
++ """
++ return _pycbf.cbf_handle_struct_set_real_3d_image_fs(self, *args)
++
++ def set_doublevalue(self, *args):
++ """
++ Returns :
++ *args : String format,Float number
++
++ C prototype: int cbf_set_doublevalue (cbf_handle handle, const char *format,
++ double number);
++
++ CBFLib documentation:
++ DESCRIPTION
++ cbf_set_doublevalue sets the item at the current column and row to
++ the floating-point value number written as an ASCII string with the
++ format specified by format as appropriate for the printf function.
++ ARGUMENTS
++ handle CBF handle. format Format for the number. number
++ Floating-point value.
++ RETURN VALUE
++ Returns an error code on failure or 0 for success.
++ SEE ALSO
++
++ """
++ return _pycbf.cbf_handle_struct_set_doublevalue(self, *args)
++
++ def find_category(self, *args):
++ """
++ Returns : string
++ *args :
++
++ C prototype: int cbf_find_category (cbf_handle handle,
++ const char *categoryname);
++
++ CBFLib documentation:
++ DESCRIPTION
++ cbf_find_category makes the category in the current data block with
++ name categoryname the current category.
++ The comparison is case-insensitive.
++ If the category does not exist, the function returns CBF_NOTFOUND.
++ The current column and row become undefined.
++ ARGUMENTS
++ handle CBF handle. categoryname The name of the category to
++ find.
++ RETURN VALUE
++ Returns an error code on failure or 0 for success.
++ SEE ALSO
++
++ """
++ return _pycbf.cbf_handle_struct_find_category(self, *args)
++
++ def get_integerarrayparameters_wdims_fs(self):
++ """
++ Returns : int compression,int binary_id,int elsize,int elsigned,int elunsigned,
++ int elements,int minelement,int maxelement,char **bo,int *bolen,
++ int dimfast,int dimmid,int dimslow,int padding
++ *args :
++
++ C prototype: int cbf_get_integerarrayparameters_wdims_fs (cbf_handle handle,
++ unsigned int *compression, int *binary_id, size_t *elsize,
++ int *elsigned, int *elunsigned, size_t *elements,
++ int *minelement, int *maxelement, const char **byteorder,
++ size_t *dimfast, size_t *dimmid, size_t *dimslow,
++ size_t *padding);
++
++ CBFLib documentation:
++ DESCRIPTION
++ cbf_get_integerarrayparameters sets *compression, *binary_id,
++ *elsize, *elsigned, *elunsigned, *elements, *minelement and
++ *maxelement to values read from the binary value of the item at the
++ current column and row. This provides all the arguments needed for a
++ subsequent call to cbf_set_integerarray, if a copy of the array is to
++ be made into another CIF or CBF. cbf_get_realarrayparameters sets
++ *compression, *binary_id, *elsize, *elements to values read from the
++ binary value of the item at the current column and row. This provides
++ all the arguments needed for a subsequent call to cbf_set_realarray,
++ if a copy of the arry is to be made into another CIF or CBF.
++ The variants cbf_get_integerarrayparameters_wdims,
++ cbf_get_integerarrayparameters_wdims_fs,
++ cbf_get_integerarrayparameters_wdims_sf,
++ cbf_get_realarrayparameters_wdims,
++ cbf_get_realarrayparameters_wdims_fs,
++ cbf_get_realarrayparameters_wdims_sf set **byteorder, *dimfast,
++ *dimmid, *dimslow, and *padding as well, providing the additional
++ parameters needed for a subsequent call to cbf_set_integerarray_wdims
++ or cbf_set_realarray_wdims.
++ The value returned in *byteorder is a pointer either to the string
++ "little_endian " or to the string "big_endian ". This should be
++ the byte order of the data, not necessarily of the host machine. No
++ attempt should be made to modify this string. At this time only
++ "little_endian " will be returned.
++ The values returned in *dimfast, *dimmid and *dimslow are the sizes
++ of the fastest changing, second fastest changing and third fastest
++ changing dimensions of the array, if specified, or zero, if not
++ specified.
++ The value returned in *padding is the size of the post-data padding,
++ if any and if specified in the data header. The value is given as a
++ count of octets.
++ If the value is not binary, the function returns CBF_ASCII.
++ ARGUMENTS
++ handle CBF handle. compression Compression method used.
++ elsize Size in bytes of each array element. binary_id
++ Pointer to the destination integer binary identifier. elsigned
++ Pointer to an integer. Set to 1 if the elements can be read as signed
++ integers. elunsigned Pointer to an integer. Set to 1 if the
++ elements can be read as unsigned integers. elements Pointer to
++ the destination number of elements. minelement Pointer to the
++ destination smallest element. maxelement Pointer to the
++ destination largest element. byteorder Pointer to the destination
++ byte order. dimfast Pointer to the destination fastest
++ dimension. dimmid Pointer to the destination second fastest
++ dimension. dimslow Pointer to the destination third fastest
++ dimension. padding Pointer to the destination padding size.
++ RETURN VALUE
++ Returns an error code on failure or 0 for success.
++ SEE ALSO
++
++ """
++ return _pycbf.cbf_handle_struct_get_integerarrayparameters_wdims_fs(self)
++
++ def set_realarray_wdims_fs(self, *args):
++ """
++ Returns :
++ *args : int compression,int binary_id,(binary) String data,int elsize,
++ int elements,String byteorder,int dimfast,int dimmid,int dimslow,
++ int padding
++
++ C prototype: int cbf_set_realarray_wdims_fs (cbf_handle handle,
++ unsigned int compression, int binary_id, void *array,
++ size_t elsize, size_t elements, const char *byteorder,
++ size_t dimfast, size_t dimmid, size_t dimslow,
++ size_t padding);
++
++ CBFLib documentation:
++ DESCRIPTION
++ cbf_set_integerarray sets the binary value of the item at the current
++ column and row to an integer array. The array consists of elements
++ elements of elsize bytes each, starting at array. The elements are
++ signed if elsigned is non-0 and unsigned otherwise. binary_id is the
++ binary section identifier. cbf_set_realarray sets the binary value of
++ the item at the current column and row to an integer array. The array
++ consists of elements elements of elsize bytes each, starting at
++ array. binary_id is the binary section identifier.
++ The cbf_set_integerarray_wdims, cbf_set_integerarray_wdims_fs,
++ cbf_set_integerarray_wdims_sf, cbf_set_realarray_wdims,
++ cbf_set_realarray_wdims_fs and cbf_set_realarray_wdims_sf variants
++ allow the data header values of byteorder, dimfast, dimmid, dimslow
++ and padding to be set to the data byte order, the fastest, second
++ fastest and third fastest array dimensions and the size in byte of
++ the post data padding to be used.
++ The array will be compressed using the compression scheme specifed by
++ compression. Currently, the available schemes are:
++ CBF_CANONICAL Canonical-code compression (section 3.3.1)
++ CBF_PACKED CCP4-style packing (section 3.3.2) CBF_PACKED_V2
++ CCP4-style packing, version 2 (section 3.3.2) CBF_BYTE_OFFSET
++ Simple "byte_offset " compression. CBF_NONE No
++ compression. NOTE: This scheme is by far the slowest of the four and
++ uses much more disk space. It is intended for routine use with small
++ arrays only. With large arrays (like images) it should be used only
++ for debugging.
++ The values compressed are limited to 64 bits. If any element in the
++ array is larger than 64 bits, the value compressed is the nearest
++ 64-bit value.
++ Currently, the source array must consist of chars, shorts or ints
++ (signed or unsigned), for cbf_set_integerarray, or IEEE doubles or
++ floats for cbf_set_realarray. If elsize is not equal to sizeof
++ (char), sizeof (short) or sizeof (int), the function returns
++ CBF_ARGUMENT.
++ ARGUMENTS
++ handle CBF handle. compression Compression method to use.
++ binary_id Integer binary identifier. array Pointer to the
++ source array. elsize Size in bytes of each source array
++ element. elsigned Set to non-0 if the source array elements are
++ signed. elements: The number of elements in the array.
++ RETURN VALUE
++ Returns an error code on failure or 0 for success.
++ SEE ALSO
++
++ """
++ return _pycbf.cbf_handle_struct_set_realarray_wdims_fs(self, *args)
++
++ def find_category_root(self, *args):
++ """
++ Returns : String categoryroot
++ *args : String categoryname
++
++ C prototype: int cbf_find_category_root (cbf_handle handle,
++ const char* categoryname, const char** categoryroot);
++
++ CBFLib documentation:
++ DESCRIPTION
++ cbf_find_category_root sets *categoryroot to the root category of
++ which categoryname is an alias. cbf_set_category_root sets
++ categoryname_in as an alias of categoryroot in the dictionary
++ associated with handle, creating the dictionary if necessary.
++ cbf_require_category_root sets *categoryroot to the root category of
++ which categoryname is an alias, if there is one, or to the value of
++ categoryname, if categoryname is not an alias.
++ A returned categoryroot string must not be modified in any way.
++ ARGUMENTS
++ handle CBF handle. categoryname category name which
++ may be an alias. categoryroot pointer to a returned category
++ root name. categoryroot_in input category root name.
++ RETURN VALUE
++ Returns an error code on failure or 0 for success.
++ ----------------------------------------------------------------------
++
++ """
++ return _pycbf.cbf_handle_struct_find_category_root(self, *args)
++
++ def set_integerarray_wdims_fs(self, *args):
++ """
++ Returns :
++ *args : int compression,int binary_id,(binary) String data,int elsize,
++ int elements,String byteorder,int dimfast,int dimmid,int dimslow,
++ int padding
++
++ C prototype: int cbf_set_integerarray_wdims_fs (cbf_handle handle,
++ unsigned int compression, int binary_id, void *array,
++ size_t elsize, int elsigned, size_t elements,
++ const char *byteorder, size_t dimfast, size_t dimmid,
++ size_t dimslow, size_t padding);
++
++ CBFLib documentation:
++ DESCRIPTION
++ cbf_set_integerarray sets the binary value of the item at the current
++ column and row to an integer array. The array consists of elements
++ elements of elsize bytes each, starting at array. The elements are
++ signed if elsigned is non-0 and unsigned otherwise. binary_id is the
++ binary section identifier. cbf_set_realarray sets the binary value of
++ the item at the current column and row to an integer array. The array
++ consists of elements elements of elsize bytes each, starting at
++ array. binary_id is the binary section identifier.
++ The cbf_set_integerarray_wdims, cbf_set_integerarray_wdims_fs,
++ cbf_set_integerarray_wdims_sf, cbf_set_realarray_wdims,
++ cbf_set_realarray_wdims_fs and cbf_set_realarray_wdims_sf variants
++ allow the data header values of byteorder, dimfast, dimmid, dimslow
++ and padding to be set to the data byte order, the fastest, second
++ fastest and third fastest array dimensions and the size in byte of
++ the post data padding to be used.
++ The array will be compressed using the compression scheme specifed by
++ compression. Currently, the available schemes are:
++ CBF_CANONICAL Canonical-code compression (section 3.3.1)
++ CBF_PACKED CCP4-style packing (section 3.3.2) CBF_PACKED_V2
++ CCP4-style packing, version 2 (section 3.3.2) CBF_BYTE_OFFSET
++ Simple "byte_offset " compression. CBF_NONE No
++ compression. NOTE: This scheme is by far the slowest of the four and
++ uses much more disk space. It is intended for routine use with small
++ arrays only. With large arrays (like images) it should be used only
++ for debugging.
++ The values compressed are limited to 64 bits. If any element in the
++ array is larger than 64 bits, the value compressed is the nearest
++ 64-bit value.
++ Currently, the source array must consist of chars, shorts or ints
++ (signed or unsigned), for cbf_set_integerarray, or IEEE doubles or
++ floats for cbf_set_realarray. If elsize is not equal to sizeof
++ (char), sizeof (short) or sizeof (int), the function returns
++ CBF_ARGUMENT.
++ ARGUMENTS
++ handle CBF handle. compression Compression method to use.
++ binary_id Integer binary identifier. array Pointer to the
++ source array. elsize Size in bytes of each source array
++ element. elsigned Set to non-0 if the source array elements are
++ signed. elements: The number of elements in the array.
++ RETURN VALUE
++ Returns an error code on failure or 0 for success.
++ SEE ALSO
++
++ """
++ return _pycbf.cbf_handle_struct_set_integerarray_wdims_fs(self, *args)
++
++ def set_image_sf(self, *args):
++ """
++ Returns :
++ *args : int element_number,int compression,(binary) String data,int elsize,
++ int elsign,int dimslow,int dimfast
++
++ C prototype: int cbf_set_image_sf(cbf_handle handle, unsigned int reserved,
++ unsigned int element_number, unsigned int compression,
++ void *array, size_t elsize, int elsign, size_t ndimslow,
++ size_t ndimfast);
++
++ CBFLib documentation:
++ DESCRIPTION
++ cbf_set_image, cbf_set_image_fs and cbf_set_image_sf write the image
++ array for element number element_number. The array consists of
++ ndimfast *ndimslow elements of elsize bytes each, starting at array.
++ The elements are signed if elsign is non-zero and unsigned otherwise.
++ cbf_set_real_image, cbf_set_real_image_fs and cbf_set_real_image_sf
++ write the image array for element number element_number. The array
++ consists of ndimfast *ndimslow IEEE double or float elements of
++ elsize bytes each, starting at array. cbf_set_3d_image,
++ cbf_set_3d_image_fs and cbf_set_3d_image_sf write the 3D image array
++ for element number element_number. The array consists of ndimfast
++ *ndimmid *ndimslow elements of elsize bytes each, starting at array.
++ The elements are signed if elsign is non-0 and unsigned otherwise.
++ cbf_set_real_3d_image, cbf_set_real_3d_image_fs and
++ cbf_set_real_3d_image_sf writes the 3D image array for element number
++ element_number. The array consists of ndimfast *ndimmid *ndimslow
++ IEEE double or float elements of elsize bytes each, starting at
++ array.
++ The _fs calls give the dimensions in a fast-to-slow order. The calls
++ with no suffix and the calls _sf calls give the dimensions in
++ slow-to-fast order
++ If the array is 1-dimensional, ndimslow should be the array size and
++ ndimfast and, for the 3D calls, ndimmid, should be set to 1. If the
++ array is 2-dimensional and the 3D calls are used, ndimslow and
++ ndimmid should be used for the array dimensions and ndimfast should
++ be set to 1.
++ The array will be compressed using the compression scheme specifed by
++ compression. Currently, the available schemes are:
++ CBF_CANONICAL Canonical-code compression (section 3.3.1) CBF_PACKED
++ CCP4-style packing (section 3.3.2) CBF_PACKED_V2 CCP4-style
++ packing, version 2 (section 3.3.2) CBF_BYTE_OFFSET Simple
++ "byte_offset " compression. CBF_NONE No compression.
++ The values compressed are limited to 64 bits. If any element in the
++ array is larger than 64 bits, the value compressed is the nearest
++ 64-bit value.
++ Currently, the source array must consist of chars, shorts or ints
++ (signed or unsigned)for cbf_set_image, or IEEE doubles or floats for
++ cbf_set_real_image. If elsize is not equal to sizeof (short), sizeof
++ (int), sizeof(double) or sizeof(float), the function returns
++ CBF_ARGUMENT.
++ The parameter reserved is presently unused and should be set to 0.
++ ARGUMENTS
++ handle CBF handle. reserved Unused. Any value other
++ than 0 is invalid. element_number The number of the detector
++ element counting from 0 by order of appearance in the
++ "diffrn_data_frame " category. compression Compression type.
++ array Pointer to the image array. elsize Size in
++ bytes of each image array element. elsigned Set to non-0 if
++ the image array elements are signed. ndimslow Slowest array
++ dimension. ndimmid Second slowest array dimension. ndimfast
++ Fastest array dimension.
++ RETURN VALUE
++ Returns an error code on failure or 0 for success.
++ ----------------------------------------------------------------------
++
++ """
++ return _pycbf.cbf_handle_struct_set_image_sf(self, *args)
++
++ def set_unit_cell(self, *args):
++ """
++ Returns :
++ *args : double cell[6]
++
++ C prototype: int cbf_set_unit_cell (cbf_handle handle, double cell[6],
++ double cell_esd[6] );
++
++ CBFLib documentation:
++ DESCRIPTION
++ cbf_set_unit_cell sets the cell parameters to the double values given
++ in cell[0:2] for the cell edge lengths a, b and c in AAngstroms, the
++ double values given in cell[3:5] for the cell angles a, b and g in
++ degrees, the double values given in cell_esd[0:2] for the estimated
++ strandard deviations of the cell edge lengths a, b and c in
++ AAngstroms, and the double values given in cell_esd[3:5] for the
++ estimated standard deviations of the the cell angles a, b and g in
++ degrees.
++ The values are placed in the first row of the "cell " category. If
++ no value has been given for "_cell.entry_id ", it is set to the
++ value of the "diffrn.id " entry of the current data block.
++ cell or cell_esd may be NULL.
++ If cell is NULL, the cell parameters are not set.
++ If cell_esd is NULL, the cell parameter esds are not set.
++ If the "cell " category is not present, it is created. If any of
++ the necessary columns are not present, they are created.
++ ARGUMENTS
++ handle CBF handle. cell Pointer to the array of 6 doubles
++ for the cell parameters. cell_esd Pointer to the array of 6 doubles
++ for the cell parameter esds.
++ RETURN VALUE
++ Returns an error code on failure or 0 for success.
++ SEE ALSO
++
++ """
++ return _pycbf.cbf_handle_struct_set_unit_cell(self, *args)
++
++ def set_unit_cell_esd(self, *args):
++ """
++ Returns :
++ *args : double cell_esd[6]
++
++ C prototype: int cbf_set_unit_cell (cbf_handle handle, double cell[6],
++ double cell_esd[6] );
++
++ CBFLib documentation:
++ DESCRIPTION
++ cbf_set_unit_cell sets the cell parameters to the double values given
++ in cell[0:2] for the cell edge lengths a, b and c in AAngstroms, the
++ double values given in cell[3:5] for the cell angles a, b and g in
++ degrees, the double values given in cell_esd[0:2] for the estimated
++ strandard deviations of the cell edge lengths a, b and c in
++ AAngstroms, and the double values given in cell_esd[3:5] for the
++ estimated standard deviations of the the cell angles a, b and g in
++ degrees.
++ The values are placed in the first row of the "cell " category. If
++ no value has been given for "_cell.entry_id ", it is set to the
++ value of the "diffrn.id " entry of the current data block.
++ cell or cell_esd may be NULL.
++ If cell is NULL, the cell parameters are not set.
++ If cell_esd is NULL, the cell parameter esds are not set.
++ If the "cell " category is not present, it is created. If any of
++ the necessary columns are not present, they are created.
++ ARGUMENTS
++ handle CBF handle. cell Pointer to the array of 6 doubles
++ for the cell parameters. cell_esd Pointer to the array of 6 doubles
++ for the cell parameter esds.
++ RETURN VALUE
++ Returns an error code on failure or 0 for success.
++ SEE ALSO
++
++ """
++ return _pycbf.cbf_handle_struct_set_unit_cell_esd(self, *args)
++
++cbf_handle_struct_swigregister = _pycbf.cbf_handle_struct_swigregister
++cbf_handle_struct_swigregister(cbf_handle_struct)
++
++
++
+diff --git a/cctbx_sources/stdlib.py b/cctbx_sources/stdlib.py
+new file mode 100755
+index 0000000..759f689
+--- /dev/null
++++ b/cctbx_sources/stdlib.py
+@@ -0,0 +1,4 @@
++from libtbx.forward_compatibility import stdlib_import
++
++math = stdlib_import("math")
++random = stdlib_import("random")
+diff --git a/sconsutils.py b/sconsutils.py
new file mode 100644
-index 0000000..814dce9
+index 0000000..b1667da
+--- /dev/null
++++ b/sconsutils.py
+@@ -0,0 +1,100 @@
++from distutils.command.build_ext import build_ext
++
++import sys, os
++
++BUILDDIR = ''
++configure_list = []
++scons_argv = []
++
++class build_ext(build_ext):
++ def run(self):
++ cwd = os.getcwd()
++ if not os.path.exists(BUILDDIR):
++ os.mkdir(BUILDDIR)
++ elif not os.path.isdir(BUILDDIR):
++ raise RuntimeError(("Build directory '%s' cannot be created "
++ "because of existing file") % BUILDDIR)
++ os.chdir(BUILDDIR)
++ import libtbx.env_config
++ libtbx.env_config.cold_start(configure_list)
++ argv_save = sys.argv
++ sys.argv = scons_argv
++ import SCons.Script
++ try:
++ SCons.Script.main()
++ except SystemExit, s:
++ # Prevent sys.exit on success.
++ if s.code == 0:
++ pass
++ else:
++ sys.exit(s)
++
++ os.chdir(cwd)
++ for ext in self.extensions:
++ src = ext.sources[0]
++ bld = os.path.join(BUILDDIR, src)
++ dst = self.get_ext_fullpath(ext.name)
++ if os.path.isfile(bld):
++ self.copy_file(bld, dst)
++
++# adapted from setuptools
++# authors: Phillip J. Eby, Tarek Ziade and the distutils SIG
++# licence: PSF or ZPL
++
++from distutils.util import convert_path
++import re
++
++EXTPAT1 = re.compile(r"^from (\S+_ext) import")
++EXTPAT2 = re.compile(r"^import (\S+_ext)$")
++EXTPAT3 = re.compile(r"boost.python.import_ext\(['\"](\S+_ext)['\"]\)$")
++
++def find_packages_and_extensions(where='.', exclude=()):
++ """Return a list all Python packages found within directory 'where'
++ and a list all extensions that need to be installed inside those packages
++
++ 'where' should be supplied as a "cross-platform" (i.e. URL-style) path; it
++ will be converted to the appropriate local path syntax. 'exclude' is a
++ sequence of package names to exclude; '*' can be used as a wildcard in the
++ names, such that 'foo.*' will exclude all subpackages of 'foo' (but not
++ 'foo' itself).
++ """
++ out = []
++ outext = set()
++ stack=[(convert_path(where), '')]
++
++ while stack:
++
++ where,prefix = stack.pop(0)
++ for name in os.listdir(where):
++
++ fn = os.path.join(where,name)
++ if ('.' not in name and os.path.isdir(fn) and
++ os.path.isfile(os.path.join(fn,'__init__.py'))
++ ):
++
++ out.append(prefix+name); stack.append((fn,prefix+name+'.'))
++
++ if name.endswith('.py'):
++
++ f = open(os.path.join(where, name))
++ for l in f:
++
++ m = EXTPAT1.match(l)
++ if m is not None:
++ outext.add(m.group(1))
++
++ m = EXTPAT2.match(l)
++ if m is not None:
++ outext.add(m.group(1))
++
++ m = EXTPAT3.search(l)
++ if m is not None:
++ outext.add(m.group(1))
++
++ f.close()
++
++ for pat in list(exclude)+['ez_setup', 'distribute_setup']:
++ from fnmatch import fnmatchcase
++ out = [item for item in out if not fnmatchcase(item,pat)]
++
++ return out, list(outext)
+diff --git a/setup.py b/setup.py
+new file mode 100755
+index 0000000..9ea71d6
--- /dev/null
+++ b/setup.py
-@@ -0,0 +1,53 @@
-+from setuptools import find_packages, setup
+@@ -0,0 +1,111 @@
++from distutils.core import setup, Extension
++import sconsutils
++from sconsutils import build_ext, find_packages_and_extensions
++import sys, os, shutil
++
++# General settings
++opj = os.path.join
++CURDIR = os.getcwd()
++SRCDIR = opj(CURDIR, 'cctbx_sources/')
++BUILDDIR = opj(CURDIR, 'build%i.%i'%(sys.version_info[0], sys.version_info[1]))
++clipper = 'clipper_adaptbx/clipper'
++boost = 'boost_adaptbx/boost'
++libtbx_pypath = 'libtbx/pythonpath'
++scons_path = '/usr/lib/scons/'
++PATHLIST= [ SRCDIR,
++ opj(SRCDIR, libtbx_pypath),
++ opj(SRCDIR, clipper),
++ opj(SRCDIR, boost),
++ scons_path,
++ ]
++for p in PATHLIST:
++ if p not in sys.path:
++ sys.path.append(p)
++
+
-+import sys
-+import os
-+import shutil
++# Configure settings
++# We need this directory to get env_config.cold_start to run!
++# trailing slash is important
++init_dir = opj(BUILDDIR, SRCDIR, 'libtbx/')
++build_opts = [ '--libtoolize',
++ '--rpath', '/usr/lib',
++ '--use_system_libs',
++ ]
++conf_modules = [ 'annlib_adaptbx',
++ 'boost_adaptbx',
++ 'cbflib_adaptbx',
++ 'ccp4io_adaptbx',
++ 'cctbx',
++ 'chiltbx',
++ 'clipper_adaptbx',
++ 'crys3d',
++ 'fable',
++ 'fftw3tbx',
++ 'gltbx',
++ 'iotbx',
++ 'libtbx',
++ 'mmtbx',
++ 'omptbx',
++ 'rstbx',
++ 'scitbx',
++ 'smtbx',
++ 'spotfinder',
++ 'tbxx',
++ 'tntbx',
++ 'ucif',
++ 'wxtbx',
++ ]
++sconsutils.configure_list = [init_dir]
++sconsutils.configure_list.extend(build_opts)
++sconsutils.configure_list.extend(conf_modules)
++sconsutils.BUILDDIR = BUILDDIR
++
++# Build settings
++sconsutils.scons_argv = [ sys.argv[0], '-j', '8' ]
++
++# Setup settings
+
+NAME = 'cctbx'
+VERSION = '0.1'
@@ -29,29 +7952,23 @@ index 0000000..814dce9
+KEYWORDS = 'crystallography'
+SCRIPTS = []
+PKG_DATA = {}
-+EXT_MODULES = []
-+EXCLUDE = ['antlr3','cbflib_adaptbx']
+EXTRA_PATH = 'cctbx'
-+PREFIX = './'
-+SRCDIR = PREFIX + 'cctbx_sources/'
-+PACKS = find_packages(SRCDIR,exclude=EXCLUDE)
++PACKDIR = { 'boost' : SRCDIR + 'boost_adaptbx/boost',
++ 'clipper' : SRCDIR + 'clipper_adaptbx/clipper',
++ 'optik' : SRCDIR + 'libtbx/pythonpath/optik',
++ 'tntbx' : SRCDIR + 'tntbx/tntbx',
++ '' : SRCDIR,
++ }
++
++MODS = ['stdlib', 'pycbf']
++PACKS, EXT_MODULES = find_packages_and_extensions(SRCDIR)
+PACKS.extend(['boost','clipper','optik','tntbx'])
-+PACKDIR = {'boost' : SRCDIR + 'boost_adaptbx/boost',
-+ 'clipper' : SRCDIR + 'clipper_adaptbx/clipper',
-+ 'optik' : SRCDIR + 'libtbx/pythonpath/optik',
-+ 'tntbx' : SRCDIR + 'tntbx/tntbx',
-+ '' : SRCDIR,}
-+MODS = ['stdlib']
-+MODDIR = {'' : SRCDIR + 'libtbx/pythonpath'}
-+
-+STDLIB_SRC = SRCDIR + 'libtbx/pythonpath/stdlib.py'
-+STDLIB_DEST = SRCDIR + 'stdlib.py'
-+if not os.path.isfile(STDLIB_DEST):
-+ try:
-+ shutil.copy2(STDLIB_SRC, STDLIB_DEST)
-+ except:
-+ print('stdlib.py missing!')
-+ sys.exit(1)
++# This is overlooked by regex in sconsutils
++EXT_MODULES.append('_pycbf')
++
++# TODO: This should also work with Mac OSX and Windows without hard coding the
++# file ext.
++EXT_MODULES = [ Extension(e, ['lib/%s.so'%e]) for e in EXT_MODULES ]
+
+setup(name=NAME,
+ version = VERSION,
@@ -65,5 +7982,8 @@ index 0000000..814dce9
+ scripts = SCRIPTS,
+ packages = PACKS,
+ package_dir = PACKDIR,
-+ py_modules = MODS,)
++ ext_modules = EXT_MODULES,
++ cmdclass = {'build_ext': build_ext},
++ py_modules = MODS,
++ )
--
diff --git a/debian/python-cctbx.install b/debian/python-cctbx.install
new file mode 100644
index 0000000..e2e74a3
--- /dev/null
+++ b/debian/python-cctbx.install
@@ -0,0 +1 @@
+debian/tmp/usr/lib/python2*
diff --git a/debian/rules b/debian/rules
index a4c8a68..cb3e3cc 100755
--- a/debian/rules
+++ b/debian/rules
@@ -23,82 +23,10 @@ SRCDIR = $(CURDIR)/$(srcdir)
builddir = build
BUILDDIR = $(CURDIR)/$(builddir)
-### BUILD ###
-build: $(PYVERS:%=build-py%)
- mkdir -p $(CURDIR)/debian/tmp
- touch $@
-build-py%:
- mkdir -p $(BUILDDIR)$*
- cd $(BUILDDIR)$*; python$* $(SRCDIR)/libtbx/configure.py \
- --libtoolize \
- --rpath "/usr/lib" \
- --use_system_libs \
- annlib_adaptbx \
- boost_adaptbx \
- cbflib_adaptbx \
- ccp4io_adaptbx \
- cctbx chiltbx \
- clipper_adaptbx \
- crys3d fable \
- fftw3tbx \
- gltbx iotbx \
- libtbx \
- mmtbx \
- omptbx \
- rstbx \
- scitbx \
- smtbx \
- spotfinder \
- tbxx \
- tntbx \
- ucif \
- wxtbx
- cd $(BUILDDIR)$*;. $(BUILDDIR)$*/setpaths_debug.sh; python$* /usr/bin/scons -j "`./bin/libtbx.show_number_of_processors`"
- sed -e "s:$(BUILDDIR)$*/lib:/usr/lib/pyshared/python$*:g" \
- -e "s:$(BUILDDIR)$*/exe:/usr/bin:g" \
- -e "s:$(BUILDDIR)$*/include:/usr/include:g" \
- -e "s:$(BUILDDIR)$*:/usr/share/cctbx:g" \
- -e "s:$(SRCDIR):/usr/share/pyshared:g" \
- -i $(BUILDDIR)$*/libtbx_env
- touch $@
+%:
+ dh $@ --with python2
-### INSTALL ###
-install: build
- touch $@
-
-## CLEAN ###
-clean:
- dh_testdir
- dh_testroot
- rm -f install*
- rm -rf build*
- dh_clean
-
-# Build architecture-independent files here.
-binary-indep: clean build install
- dh_testdir
- dh_testroot
- dh_installchangelogs
- dh_compress
- dh_fixperms
- dh_installdeb
- dh_shlibdeps
- dh_gencontrol
- dh_md5sums
- dh_builddeb
-
-# Build architecture-dependent files here.
-binary-arch: clean build install
- dh_testdir
- dh_testroot
- dh_installchangelogs
- dh_compress
- dh_fixperms
- dh_installdeb
- dh_shlibdeps
- dh_gencontrol
- dh_md5sums
- dh_builddeb
-
-binary: binary-arch
-.PHONY: build install clean binary-arch binary-indep binary
+override_dh_auto_install:
+ install -d $(CURDIR)/debian/tmp/usr/lib/
+ install $(BUILDDIR)$(PYDEF)/lib/usr/lib/* $(CURDIR)/debian/tmp/usr/lib/
+ dh_auto_install
--
Packaging for cctbx
More information about the debian-science-commits
mailing list