1 /* 2 * Copyright (c) 2016, The University of Oxford 3 * All rights reserved. 4 * 5 * Redistribution and use in source and binary forms, with or without 6 * modification, are permitted provided that the following conditions are met: 7 * 1. Redistributions of source code must retain the above copyright notice, 8 * this list of conditions and the following disclaimer. 9 * 2. Redistributions in binary form must reproduce the above copyright notice, 10 * this list of conditions and the following disclaimer in the documentation 11 * and/or other materials provided with the distribution. 12 * 3. Neither the name of the University of Oxford nor the names of its 13 * contributors may be used to endorse or promote products derived from this 14 * software without specific prior written permission. 15 * 16 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" 17 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 18 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 19 * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE 20 * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR 21 * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF 22 * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS 23 * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 24 * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 25 * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 26 * POSSIBILITY OF SUCH DAMAGE. 27 */ 28 29 #ifndef OSKAR_IMAGER_H_ 30 #define OSKAR_IMAGER_H_ 31 32 /** 33 * @file oskar_imager.h 34 */ 35 36 /* Public interface. */ 37 38 #ifdef __cplusplus 39 extern "C" { 40 #endif 41 42 struct oskar_Imager; 43 #ifndef OSKAR_IMAGER_TYPEDEF_ 44 #define OSKAR_IMAGER_TYPEDEF_ 45 typedef struct oskar_Imager oskar_Imager; 46 #endif /* OSKAR_IMAGER_TYPEDEF_ */ 47 48 enum OSKAR_IMAGE_TYPE 49 { 50 OSKAR_IMAGE_TYPE_STOKES, /* IQUV */ 51 OSKAR_IMAGE_TYPE_I, 52 OSKAR_IMAGE_TYPE_Q, 53 OSKAR_IMAGE_TYPE_U, 54 OSKAR_IMAGE_TYPE_V, 55 OSKAR_IMAGE_TYPE_LINEAR, /* all linear polarisations XX,XY,YX,YY */ 56 OSKAR_IMAGE_TYPE_XX, 57 OSKAR_IMAGE_TYPE_YY, 58 OSKAR_IMAGE_TYPE_XY, 59 OSKAR_IMAGE_TYPE_YX, 60 OSKAR_IMAGE_TYPE_PSF 61 }; 62 63 enum OSKAR_IMAGE_ALGORITHM 64 { 65 OSKAR_ALGORITHM_FFT, 66 OSKAR_ALGORITHM_DFT_2D, 67 OSKAR_ALGORITHM_DFT_3D, 68 OSKAR_ALGORITHM_WPROJ, 69 OSKAR_ALGORITHM_AWPROJ 70 }; 71 72 enum OSKAR_IMAGE_WEIGHTING 73 { 74 OSKAR_WEIGHTING_NATURAL, 75 OSKAR_WEIGHTING_RADIAL, 76 OSKAR_WEIGHTING_UNIFORM, 77 OSKAR_WEIGHTING_GRIDLESS_UNIFORM 78 }; 79 80 #ifdef __cplusplus 81 } 82 #endif 83 84 #include <imager/oskar_imager_accessors.h> 85 #include <imager/oskar_imager_check_init.h> 86 #include <imager/oskar_imager_create.h> 87 #include <imager/oskar_imager_finalise.h> 88 #include <imager/oskar_imager_free.h> 89 #include <imager/oskar_imager_linear_to_stokes.h> 90 #include <imager/oskar_imager_reset_cache.h> 91 #include <imager/oskar_imager_rotate_coords.h> 92 #include <imager/oskar_imager_rotate_vis.h> 93 #include <imager/oskar_imager_run.h> 94 #include <imager/oskar_imager_update.h> 95 96 #endif /* OSKAR_IMAGER_H_ */ 97