Skip to content

Latest commit

 

History

History
86 lines (67 loc) · 4.36 KB

todo.org

File metadata and controls

86 lines (67 loc) · 4.36 KB

List of issues/functions to address (20170201) with decreasing order of priority:

  • function getpixval not warpted correctly (existing typemap in miallib_tmp.i should return a value and not a G_TYPE * swig object!
  • typemap for mia function argument int *box introduced in miallib_tmp.i works only for functional call in jiplib (method calls, whether destructive or not do not work). (PK to investigate).
  • implement in jiplib miallib functions that return an IMAGE ** (PK), see solution with typemaps implemented in mia (master.i). This requires a 3rd python script for warping to python (as for ERROR_TYPE and IMAGE * functions). Note that it seems desirable to define at python level a list of images as a python list.
  • ERROR_TYPE functions that do not modify the input image (e.g. iminfo) should not use the bool variable destructive (see list in done). These functions should not return a new image and indeed not an image at all! (PK to implement).
  • jim.h should be in build since it is modified by scripts upon compilation. (PK to implement).
  • Address those functions with pointer arguments (besides IMAGE * or IMAGE **): create list (PS see Done below as well as master.i in mia), define desired behaviour at python level (PK from examples in mia master.i), and then solve (at interface file level).
  • Confirm that arguments of overloaded methods with default argument values cannot be used as keys (PK).
  • Solve the problem related to ERROR_TYPE return in a functional call (refers to a memory leak and returned ERROR_TYPE * !!!) (PK)
  • Add a jim.write() method behaving like .close() but not releasing the image in memory (PK)
  • Address miallib functions modifying GeoTransform/Projection: create list (PS) and then ad hoc procedure to be put in place.
  • Automatic binding of GTYPE functions (e.g. getpixval)
  • integration of lut in jim

Done:

  • Write a clone at jim level with memcpy to secure correct behaviour for all data types including Int64/UInt64 (PK)
  • Add INT64/UINT64 data type in Jim (PK)
  • Automatic binding of functions returning an IMAGE * (see template in mean2d in jim.cc) (PS on 20170202)
  • Change malloc to calloc in createImg (PK)
  • Add binding of miallib functions in cmake (PK)
  • From and to numpy functions implemented (PK)
  • Problem related to ERROR_TYPE return in a functional call seems to be fixed (PK)
  • Handled ERRORTYPE functions that do not modify the input image (e.g., iminfo). They are treated as the destructive functions but without the prefix d_ (PK)
  • Added Int64 and UInt64 data type in Jim (PK)
  • Constructor written with copyData specific to Jim with memcopy (this also implements the clone) (PK)
  • ERROR_TYPE functions that do not modify the input image (e.g. iminfo) should not use the bool variable destructive: create list (PS)

extern ERROR_TYPE dumpxyz(IMAGE *im, int x, int y, int z, int dx, int dy); extern ERROR_TYPE szcompat(IMAGE *im1, IMAGE *im2); extern ERROR_TYPE szgeocompat(IMAGE *im1, IMAGE *im2); extern ERROR_TYPE iminfo(IMAGE *im); extern ERROR_TYPE tiffinfo(char *fn, char *field, float *val); extern ERROR_TYPE writeGnuPlot3D(IMAGE **imap, int nc, int graph, int regionSize, int varianz, char *fileName); extern ERROR_TYPE vectorizeImage(IMAGE **imap, int nc, char *filename, int format, double simplifyBorderLines); extern ERROR_TYPE IsPartitionEqual(IMAGE *im1, IMAGE *im2, int *result); extern ERROR_TYPE IsPartitionFiner(IMAGE *im1, IMAGE *im2, int graph, unsigned long int *res); extern ERROR_TYPE dendro(IMAGE **imap, int nc, char *fn); extern ERROR_TYPE getfirstmaxpos(IMAGE *im, unsigned long int *pos); extern ERROR_TYPE volume(IMAGE *im); extern ERROR_TYPE imequalp(IMAGE *im1, IMAGE *im2); extern ERROR_TYPE getmax(IMAGE *im, double *maxval); extern ERROR_TYPE getminmax(IMAGE *im, double *minval, double *maxval);

  • miallib functions with pointer arguments other than IMAGE * (see also corresponding typemaps in master.i in mia):

extern ERROR_TYPE FindPixWithVal(IMAGE *im, G_TYPE gval, unsigned long int *ofs); extern IMAGE **cs2cs(double ulc_e, double ulc_n, int nx, int ny, double res, char *parmsi[], int ni, char *parmso[], int no); extern ERROR_TYPE framebox(IMAGE *im, int *box, G_TYPE gval); extern ERROR_TYPE addframebox(IMAGE *im, int *box, G_TYPE gval); extern ERROR_TYPE subframebox(IMAGE *im, int *box);