/* * structure.h * * 3D analysis * * (c) 2007 Gordon Ball * dtr - Diffraction Tomography Reconstruction * */ #ifndef REFLECTION_H #include "reflection.h" #endif #ifndef STRUCTURE_H_ #define STRUCTURE_H_ typedef struct octtree { struct octtree *parent; struct octtree **child; struct reflist *list; double ox; double oy; double oz; double halfedge; int depth; int childnum; } OctTree; typedef struct reflist { int count; struct Reflection **r; } ReflectionList; typedef struct octtreelist { struct octtree *o; struct octtreelist *next; } OctTreeLinkedList; extern double get_mask_radius(ReflectionContext *rctx); extern ReflectionContext *apply_mask_radius(double mask_radius, ReflectionContext *rctx); extern OctTree *gen_octtree(ReflectionContext *rctx, int depth); extern void print_octtree(OctTree *tree); extern void dump_histogram(ReflectionContext *rctx); extern OctTreeLinkedList *find_sparse_trees(OctTree *o, int req_length, int allow_end, int *count); #endif /*STRUCTURE_H_*/