Build: #2 was successful
Job: Tag Branch for Packages was successful
Build log
The build generated 2,101 lines of output.The output is too long and has been truncated to the last 1,000 lines. Download or view full build log.
02-May-2019 19:43:13 | gcwrap/install/pipeline.bld | 2 +- |
02-May-2019 19:43:13 | gcwrap/python/scripts/casa_system.py | 3 +- |
02-May-2019 19:43:13 | gcwrap/python/scripts/init_crashrpt.py | 2 + |
02-May-2019 19:43:13 | gcwrap/python/scripts/init_docs.py | 15 +- |
02-May-2019 19:43:13 | gcwrap/python/scripts/init_logger.py | 2 +- |
02-May-2019 19:43:13 | gcwrap/python/scripts/init_system.py | 2 +- |
02-May-2019 19:43:13 | gcwrap/python/scripts/init_telemetry.py.in | 3 +- |
02-May-2019 19:43:13 | gcwrap/python/scripts/init_welcome.py | 2 +- |
02-May-2019 19:43:13 | .../regressions/pipelineTest_regression_almasd.py | 24 +- |
02-May-2019 19:43:13 | gcwrap/python/scripts/telemetry.py | 12 +- |
02-May-2019 19:43:13 | gcwrap/python/scripts/tests/CMakeLists.txt | 1 + |
02-May-2019 19:43:13 | .../scripts/tests/test_mstransform_subset.py | 6008 ++++++++++++++++++++ |
02-May-2019 19:43:13 | gcwrap/tasks/flagdata.xml | 2650 +++++---- |
02-May-2019 19:43:13 | gcwrap/tasks/importasap.xml | 2 +- |
02-May-2019 19:43:13 | gcwrap/tasks/tclean.xml | 24 +- |
02-May-2019 19:43:13 | gcwrap/tools/CMakeLists.txt | 1 + |
02-May-2019 19:43:13 | gcwrap/tools/casaswig_types.cc | 29 + |
02-May-2019 19:43:13 | gcwrap/tools/casaswig_types.h | 13 + |
02-May-2019 19:43:13 | gcwrap/tools/images/coordsys.xml | 16 +- |
02-May-2019 19:43:13 | gcwrap/tools/synthesis/imager.xml | 3 +- |
02-May-2019 19:43:13 | gcwrap/tools/synthesis/simulator.xml | 2 +- |
02-May-2019 19:43:13 | gcwrap/tools/utils/utils.xml | 10 + |
02-May-2019 19:43:13 | gcwrap/tools/utils/utils_cmpt.cc | 13 +- |
02-May-2019 19:43:13 | 73 files changed, 8883 insertions(+), 1659 deletions(-) |
02-May-2019 19:43:13 | create mode 100644 code/casatools/Data/Opt.h |
02-May-2019 19:43:13 | create mode 100644 code/casatools/protos/shutdown.proto |
02-May-2019 19:43:13 | create mode 100644 code/display/QtViewer/grpcViewerAdaptor.cc |
02-May-2019 19:43:13 | create mode 100644 code/display/QtViewer/grpcViewerAdaptor.qo.h |
02-May-2019 19:43:13 | create mode 100644 code/display/protos/img.proto |
02-May-2019 19:43:13 | create mode 100755 code/install/resolvegitrevision.pl |
02-May-2019 19:43:13 | create mode 100644 code/synthesis/MeasurementEquations/test/tPredictComp.cc |
02-May-2019 19:43:13 | create mode 100644 gcwrap/python/scripts/tests/test_mstransform_subset.py |
02-May-2019 19:43:13 | create mode 100644 gcwrap/tools/casaswig_types.cc |
02-May-2019 19:43:13 | |
02-May-2019 19:43:13 | edu.nrao.gradle.casa.build.GitRepository@29507933 |
02-May-2019 19:43:13 | getLastTag called with |
02-May-2019 19:43:13 | branch: ARD-20 |
02-May-2019 19:43:13 | env: [bamboo_planRepository_1_branch=ARD-20, PATH=/bin:/usr/lib64/qt-3.3/bin:/usr/lib64/ccache:/usr/local/bin:/usr/bin:/usr/local/sbin:/usr/sbin, bamboo_planRepository_2_branch=master, HISTCONTROL=ignoredups, bamboo_repository_revision_number=661dc3b4e421927198db45ccdc85e3f9a420f7b1, bamboo_planRepository_1_branchDisplayName=ARD-20, bamboo_repository_20938876_previous_revision_number=f58f7395569d7d77758ab45e8beeb376e7ec00ae, GUESTFISH_RESTORE=\e[0m, bamboo_repository_20938876_git_username=, WRAPPER_BITS=32, bamboo_buildKey=ARD-BPT16-TBFP, bamboo_repository_34079378_git_repositoryUrl=ssh://git@open-bitbucket.nrao.edu:7999/casa/casa.git, PROMPT_COMMAND=history -a, PWD=/export/home/cbt-el7-4/bamboohome/xml-data/build-dir/ARD-BPT16-TBFP/casa-pkg/gradle/casa-tag, bamboo_capability_system_jdk_JDK_1_8_0_131=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.131-2.b11.el7_3.x86_64, bamboo_planRepository_2_branchDisplayName=master, HISTTIMEFORMAT=%Y-%m-%d %T: , bamboo_shortJobName=Tag Branch for Packages, bamboo_buildResultsUrl=https://open-bamboo.nrao.edu/browse/ARD-BPT16-TBFP-2, bamboo_planRepository_repositoryUrl=ssh://git@open-bitbucket.nrao.edu:7999/casa/casa.git, LESSOPEN=||/usr/bin/lesspipe.sh %s, QT_GRAPHICSSYSTEM_CHECKED=1, QTINC=/usr/lib64/qt-3.3/include, bamboo_agentId=6160386, bamboo_repository_34079378_branch_name=ARD-20, GUESTFISH_INIT=\e[1;34m, bamboo_planRepository_revision=661dc3b4e421927198db45ccdc85e3f9a420f7b1, bamboo_casaadm_password=********, bamboo_planRepository_previousRevision=32072d8c32e3102b351ff592c5120674a207975e, bamboo_repository_20938876_git_branch=master, bamboo_repository_20938876_name=OPEN-CASA-PKG, bamboo_capability_system_jdk_JDK_1_8_0_144=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.144-0.b01.el7_4.x86_64, bamboo_repository_branch_name=ARD-20, SHLVL=3, bamboo_capability_system_jdk_JDK_1_8_0_141=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.141-2.b16.el7_4.x86_64, QT_PLUGIN_PATH=/usr/lib64/kde4/plugins:/usr/lib/kde4/plugins, LOADEDMODULES=, WRAPPER_OS=linux, HISTSIZE=200000, TERM=xterm-256color, bamboo_dependenciesDisabled=false, XDG_SESSION_ID=3, bamboo_capability_isCIMachine=true, GRADLE_USER_HOME=/users/casaci/.gradle.el6.cbt-el7-4, bamboo_planRepository_branch=ARD-20, bamboo_capability_tag=true, bamboo_capability_system_jdk_JDK_1_8_0_151=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.151-5.b12.el7_4.x86_64, bamboo_planRepository_branchName=ARD-20, bamboo_planRepository_1_type=bbserver, WRAPPER_FILE_SEPARATOR=/, bamboo_repository_20938876_revision_number=161216ae6b1e3a5f3611493b5c840cdd43234dd6, bamboo_capability_system_jdk_JDK=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.102-1.b14.el7_2.x86_64, SSH_CLIENT=10.2.103.75 53840 22, SSH_TTY=/dev/pts/0, CVS_RSH=ssh, WRAPPER_PATH_SEPARATOR=:, bamboo_hg_cache_directory=/export/home/cbt-el7-4/bamboohome/xml-data/build-dir/_hg-repositories-cache, bamboo_planRepository_type=bbserver, bamboo_planRepository_1_username=, bamboo_ManualBuildTriggerReason_userName=pjaganna, bamboo_git_cache_directory=/export/home/cbt-el7-4/bamboohome/xml-data/build-dir/_git-repositories-cache, bamboo_planRepository_2_branchName=master, bamboo_capability_system_builder_ant_Ant=/usr, bamboo_tmp_directory=/export/home/cbt-el7-4/bamboohome/temp, SSH_CONNECTION=10.2.103.75 53840 10.2.96.193 22, bamboo_planKey=ARD-BPT16, bamboo_planRepository_username=, NLSPATH=/usr/dt/lib/nls/msg/%L/%N.cat, BASH_FUNC_module()=() { eval `/usr/bin/modulecmd bash $*` |
02-May-2019 19:43:13 | }, bamboo_capability_system_jdk_JDK_1_8_0_161=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.161-0.b14.el7_4.x86_64, bamboo_repository_34079378_revision_number=661dc3b4e421927198db45ccdc85e3f9a420f7b1, bamboo_planRepository_1_branchName=ARD-20, bamboo_capability_buildmachinetype=build, bamboo_repository_34079378_git_branch=ARD-20, XDG_DATA_DIRS=/users/casaci/.local/share/flatpak/exports/share/:/var/lib/flatpak/exports/share/:/usr/local/share/:/usr/share/, bamboo_resultsUrl=https://open-bamboo.nrao.edu/browse/ARD-BPT16-TBFP-2, MODULEPATH=/usr/share/Modules/modulefiles:/etc/modulefiles, bamboo_build_working_directory=/export/home/cbt-el7-4/bamboohome/xml-data/build-dir/ARD-BPT16-TBFP, bamboo_planRepository_1_name=OPEN-CASA-FULL, QT_GRAPHICSSYSTEM=native, bamboo_shortPlanName=ARD-20, bamboo_capability_hostname=cbt-el7-4.cv.nrao.edu, MAIL=/var/spool/mail/casaci, bamboo_planRepository_2_username=, bamboo_repository_34079378_git_username=, bamboo_planRepository_name=OPEN-CASA-FULL, bamboo_repository_34079378_previous_revision_number=32072d8c32e3102b351ff592c5120674a207975e, LOGNAME=casaci, bamboo_buildNumber=2, SHELL=/bin/bash, bamboo_planName=ARD - Build And Package - ARD-20, bamboo_shortPlanKey=BPT16, OLDPWD=/usr/lib/jvm/gradle-3.2.1, bamboo_shortJobKey=TBFP, bamboo_planRepository_2_name=OPEN-CASA-PKG, SSH_ASKPASS=/usr/libexec/openssh/gnome-ssh-askpass, bamboo_repository_previous_revision_number=32072d8c32e3102b351ff592c5120674a207975e, bamboo_buildTimeStamp=2019-05-02T19:42:53.732-04:00, bamboo_repository_20938876_branch_name=master, bamboo_buildResultKey=ARD-BPT16-TBFP-2, bamboo_repository_git_branch=ARD-20, bamboo_capability_system_jdk_JDK_1_8_0_102=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.102-1.b14.el7_2.x86_64, bamboo_buildPlanName=ARD - Build And Package - ARD-20 - Tag Branch for Packages, LS_COLORS=rs=0:di=38;5;27:ln=38;5;51:mh=44;38;5;15:pi=40;38;5;11:so=38;5;13:do=38;5;5:bd=48;5;232;38;5;11:cd=48;5;232;38;5;3:or=48;5;232;38;5;9:mi=05;48;5;232;38;5;15:su=48;5;196;38;5;15:sg=48;5;11;38;5;16:ca=48;5;196;38;5;226:tw=48;5;10;38;5;16:ow=48;5;10;38;5;21:st=48;5;21;38;5;15:ex=38;5;34:*.tar=38;5;9:*.tgz=38;5;9:*.arc=38;5;9:*.arj=38;5;9:*.taz=38;5;9:*.lha=38;5;9:*.lz4=38;5;9:*.lzh=38;5;9:*.lzma=38;5;9:*.tlz=38;5;9:*.txz=38;5;9:*.tzo=38;5;9:*.t7z=38;5;9:*.zip=38;5;9:*.z=38;5;9:*.Z=38;5;9:*.dz=38;5;9:*.gz=38;5;9:*.lrz=38;5;9:*.lz=38;5;9:*.lzo=38;5;9:*.xz=38;5;9:*.bz2=38;5;9:*.bz=38;5;9:*.tbz=38;5;9:*.tbz2=38;5;9:*.tz=38;5;9:*.deb=38;5;9:*.rpm=38;5;9:*.jar=38;5;9:*.war=38;5;9:*.ear=38;5;9:*.sar=38;5;9:*.rar=38;5;9:*.alz=38;5;9:*.ace=38;5;9:*.zoo=38;5;9:*.cpio=38;5;9:*.7z=38;5;9:*.rz=38;5;9:*.cab=38;5;9:*.jpg=38;5;13:*.jpeg=38;5;13:*.gif=38;5;13:*.bmp=38;5;13:*.pbm=38;5;13:*.pgm=38;5;13:*.ppm=38;5;13:*.tga=38;5;13:*.xbm=38;5;13:*.xpm=38;5;13:*.tif=38;5;13:*.tiff=38;5;13:*.png=38;5;13:*.svg=38;5;13:*.svgz=38;5;13:*.mng=38;5;13:*.pcx=38;5;13:*.mov=38;5;13:*.mpg=38;5;13:*.mpeg=38;5;13:*.m2v=38;5;13:*.mkv=38;5;13:*.webm=38;5;13:*.ogm=38;5;13:*.mp4=38;5;13:*.m4v=38;5;13:*.mp4v=38;5;13:*.vob=38;5;13:*.qt=38;5;13:*.nuv=38;5;13:*.wmv=38;5;13:*.asf=38;5;13:*.rm=38;5;13:*.rmvb=38;5;13:*.flc=38;5;13:*.avi=38;5;13:*.fli=38;5;13:*.flv=38;5;13:*.gl=38;5;13:*.dl=38;5;13:*.xcf=38;5;13:*.xwd=38;5;13:*.yuv=38;5;13:*.cgm=38;5;13:*.emf=38;5;13:*.axv=38;5;13:*.anx=38;5;13:*.ogv=38;5;13:*.ogx=38;5;13:*.aac=38;5;45:*.au=38;5;45:*.flac=38;5;45:*.mid=38;5;45:*.midi=38;5;45:*.mka=38;5;45:*.mp3=38;5;45:*.mpc=38;5;45:*.ogg=38;5;45:*.ra=38;5;45:*.wav=38;5;45:*.axa=38;5;45:*.oga=38;5;45:*.spx=38;5;45:*.xspf=38;5;45:, bamboo_planRepository_1_revision=661dc3b4e421927198db45ccdc85e3f9a420f7b1, bamboo_capability_system_hg_executable=/bin/hg, bamboo_repository_name=OPEN-CASA-PKG, bamboo_planRepository_2_previousRevision=f58f7395569d7d77758ab45e8beeb376e7ec00ae, XFILESEARCHPATH=/usr/dt/app-defaults/%L/Dt, LANG=en_US.UTF-8, bamboo_buildFailed=false, HISTFILESIZE=250000, bamboo_agentWorkingDirectory=/export/home/cbt-el7-4/bamboohome/xml-data/build-dir, bamboo_capability_system_git_executable=/bin/git, bamboo_planRepository_2_revision=161216ae6b1e3a5f3611493b5c840cdd43234dd6, bamboo_capability_system_jdk_JDK_1_8_0_111=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.111-2.b15.el7_3.x86_64, bamboo_planRepository_1_previousRevision=32072d8c32e3102b351ff592c5120674a207975e, bamboo_repository_git_username=, bamboo_capability_operating_system=EL7, bamboo_planRepository_branchDisplayName=ARD-20, bamboo_capability_project=CASA, bamboo_planRepository_2_type=bbserver, GUESTFISH_PS1=\[\e[1;32m\]><fs>\[\e[0;31m\] , bamboo_plan_storageTag=plan-33887019, USER=casaci, bamboo_planRepository_2_repositoryUrl=ssh://git@open-bitbucket.nrao.edu:7999/casa/casa-pkg.git, bamboo_repository_git_repositoryUrl=ssh://git@open-bitbucket.nrao.edu:7999/casa/casa.git, bamboo_repository_34079378_name=OPEN-CASA-FULL, bamboo_working_directory=/export/home/cbt-el7-4/bamboohome/xml-data/build-dir/ARD-BPT16-TBFP, HOSTNAME=cbt-el7-4, QTDIR=/usr/lib64/qt-3.3, MODULESHOME=/usr/share/Modules, bamboo_planRepository_1_repositoryUrl=ssh://git@open-bitbucket.nrao.edu:7999/casa/casa.git, bamboo_capability_system_jdk_JDK_1_8=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.102-1.b14.el7_2.x86_64, WRAPPER_ARCH=x86, KDEDIRS=/usr, bamboo_repository_20938876_git_repositoryUrl=ssh://git@open-bitbucket.nrao.edu:7999/casa/casa-pkg.git, XDG_RUNTIME_DIR=/run/user/9285, GUESTFISH_OUTPUT=\e[0m, HOME=/users/casaci, QTLIB=/usr/lib64/qt-3.3/lib] |
02-May-2019 19:43:13 | sourceDir: /export/home/cbt-el7-4/bamboohome/xml-data/build-dir/ARD-BPT16-TBFP/taggitworkdir/casa |
02-May-2019 19:43:13 | Resolving CAS-/feature/bugfix tag |
02-May-2019 19:43:13 | Branch parts: [ARD-20] |
02-May-2019 19:43:13 | Checking for an existing tag for the branch |
02-May-2019 19:43:13 | tagGrep: grep test-ARD-20 |
02-May-2019 19:43:13 | java.lang.UNIXProcess@4e075041 | java.lang.UNIXProcess@19da8923 | java.lang.UNIXProcess@7e6b300a | java.lang.UNIXProcess@27e75c49 |
02-May-2019 19:43:13 | Checking out ARD-20 |
02-May-2019 19:43:13 | Switched to branch 'ARD-20' |
02-May-2019 19:43:13 | Your branch is behind 'origin/ARD-20' by 11 commits, and can be fast-forwarded. |
02-May-2019 19:43:13 | (use "git pull" to update your local branch) |
02-May-2019 19:43:13 | |
02-May-2019 19:43:13 | Updating ARD-20 |
02-May-2019 19:43:14 | Updating 32072d8..661dc3b |
02-May-2019 19:43:14 | Fast-forward |
02-May-2019 19:43:14 | code/synthesis/CMakeLists.txt | 3 + |
02-May-2019 19:43:14 | code/synthesis/TransformMachines/BeamCalc.cc | 14 + |
02-May-2019 19:43:14 | .../VLACalcIlluminationConvFunc.cc | 18 +- |
02-May-2019 19:43:14 | code/synthesis/TransformMachines/ZernikeCalc.cc | 444 +++++++++++++++++++++ |
02-May-2019 19:43:14 | code/synthesis/TransformMachines/ZernikeCalc.h | 99 +++++ |
02-May-2019 19:43:14 | .../TransformMachines/ZernikeCalcParams.cc | 55 +++ |
02-May-2019 19:43:14 | code/synthesis/TransformMachines2/AWProjectFT.cc | 2 +- |
02-May-2019 19:43:14 | code/synthesis/TransformMachines2/EVLAAperture.cc | 7 +- |
02-May-2019 19:43:14 | .../VLACalcIlluminationConvFunc.cc | 64 ++- |
02-May-2019 19:43:14 | .../VLACalcIlluminationConvFunc.h | 3 +- |
02-May-2019 19:43:14 | 10 files changed, 663 insertions(+), 46 deletions(-) |
02-May-2019 19:43:14 | create mode 100644 code/synthesis/TransformMachines/ZernikeCalc.cc |
02-May-2019 19:43:14 | create mode 100644 code/synthesis/TransformMachines/ZernikeCalc.h |
02-May-2019 19:43:14 | create mode 100644 code/synthesis/TransformMachines/ZernikeCalcParams.cc |
02-May-2019 19:43:14 | |
02-May-2019 19:43:14 | Constructing a new tag based on 5.5.0-132-test-ARD-20-1 |
02-May-2019 19:43:14 | Branch: ARD-20 |
02-May-2019 19:43:14 | ARD- detected |
02-May-2019 19:43:14 | Prefix: 5.5.0-132-test-ARD-20 |
02-May-2019 19:43:14 | 5.5.0-132-test-ARD-20-2 |
02-May-2019 19:43:14 | Last tag: 5.5.0-132-test-ARD-20-1 |
02-May-2019 19:43:14 | Branch: ARD-20 |
02-May-2019 19:43:14 | Comparing tag to branch with: git diff --exit-code 5.5.0-132-test-ARD-20-1 ARD-20 |
02-May-2019 19:43:14 | diff --git a/code/synthesis/CMakeLists.txt b/code/synthesis/CMakeLists.txt |
02-May-2019 19:43:14 | index 074987b..3fcfc97 100644 |
02-May-2019 19:43:14 | --- a/code/synthesis/CMakeLists.txt |
02-May-2019 19:43:14 | +++ b/code/synthesis/CMakeLists.txt |
02-May-2019 19:43:14 | @@ -87,6 +87,8 @@ casa_add_library( synthesis |
02-May-2019 19:43:14 | # TransformMachines/cDataToGridImpl.cc |
02-May-2019 19:43:14 | TransformMachines/BeamCalc.cc |
02-May-2019 19:43:14 | TransformMachines/BeamCalcParams.cc |
02-May-2019 19:43:14 | + TransformMachines/ZernikeCalc.cc |
02-May-2019 19:43:14 | + TransformMachines/ZernikeCalcParams.cc |
02-May-2019 19:43:14 | TransformMachines/DBeamSkyJones.cc |
02-May-2019 19:43:14 | TransformMachines/FTMachine.cc |
02-May-2019 19:43:14 | TransformMachines/GridFT.cc |
02-May-2019 19:43:14 | @@ -729,6 +731,7 @@ install (FILES |
02-May-2019 19:43:14 | ) |
02-May-2019 19:43:14 | install (FILES |
02-May-2019 19:43:14 | TransformMachines/BeamCalc.h |
02-May-2019 19:43:14 | + TransformMachines/ZernikeCalc.h |
02-May-2019 19:43:14 | TransformMachines/BeamSkyJones.h |
02-May-2019 19:43:14 | TransformMachines/BeamSquint.h |
02-May-2019 19:43:14 | TransformMachines/CFCache.h |
02-May-2019 19:43:14 | diff --git a/code/synthesis/TransformMachines/BeamCalc.cc b/code/synthesis/TransformMachines/BeamCalc.cc |
02-May-2019 19:43:14 | index 88d47dc..6ccacb7 100644 |
02-May-2019 19:43:14 | --- a/code/synthesis/TransformMachines/BeamCalc.cc |
02-May-2019 19:43:14 | +++ b/code/synthesis/TransformMachines/BeamCalc.cc |
02-May-2019 19:43:14 | @@ -238,6 +238,20 @@ namespace casa{ |
02-May-2019 19:43:14 | //antRespPath_p = fullFileName + "/data/alma/responses"; |
02-May-2019 19:43:14 | antRespPath_p = fullFileName + "/alma/responses"; |
02-May-2019 19:43:14 | } |
02-May-2019 19:43:14 | + else if(obsName_p=="MeerKAT" && antType_p=="STANDARD"){ |
02-May-2019 19:43:14 | + os << LogIO::NORMAL << "Will use default geometries for MeerKAT STANDARD by spoofing EVLA." << LogIO::POST; |
02-May-2019 19:43:14 | + BeamCalc_NumBandCodes_p = EVLABeamCalc_NumBandCodes; |
02-May-2019 19:43:14 | + BeamCalcGeometries_p.resize(BeamCalc_NumBandCodes_p); |
02-May-2019 19:43:14 | + bandMinFreq_p.resize(BeamCalc_NumBandCodes_p); |
02-May-2019 19:43:14 | + bandMaxFreq_p.resize(BeamCalc_NumBandCodes_p); |
02-May-2019 19:43:14 | + for(uInt i=0; i<BeamCalc_NumBandCodes_p; i++){ |
02-May-2019 19:43:14 | + copyBeamCalcGeometry(&BeamCalcGeometries_p[i], &EVLABeamCalcGeometryDefaults[i]); |
02-May-2019 19:43:14 | + bandMinFreq_p[i] = EVLABandMinFreqDefaults[i]; |
02-May-2019 19:43:14 | + bandMaxFreq_p[i] = EVLABandMaxFreqDefaults[i]; |
02-May-2019 19:43:14 | + } |
02-May-2019 19:43:14 | + //antRespPath_p = fullFileName + "/data/nrao/VLA"; |
02-May-2019 19:43:14 | + antRespPath_p = fullFileName + "/nrao/VLA"; |
02-May-2019 19:43:14 | + } |
02-May-2019 19:43:14 | else{ |
02-May-2019 19:43:14 | String mesg="We don't have any antenna ray tracing parameters available for observatory " |
02-May-2019 19:43:14 | +obsName_p+", antenna type "+antType_p; |
02-May-2019 19:43:14 | diff --git a/code/synthesis/TransformMachines/VLACalcIlluminationConvFunc.cc b/code/synthesis/TransformMachines/VLACalcIlluminationConvFunc.cc |
02-May-2019 19:43:14 | index b825f73..1593677 100644 |
02-May-2019 19:43:14 | --- a/code/synthesis/TransformMachines/VLACalcIlluminationConvFunc.cc |
02-May-2019 19:43:14 | +++ b/code/synthesis/TransformMachines/VLACalcIlluminationConvFunc.cc |
02-May-2019 19:43:14 | @@ -56,7 +56,7 @@ namespace casa{ |
02-May-2019 19:43:14 | { |
02-May-2019 19:43:14 | |
02-May-2019 19:43:14 | LogIO logIO(LogOrigin("VLACalcIlluminationConvFunc","ctor")); |
02-May-2019 19:43:14 | - ap.oversamp = 3; |
02-May-2019 19:43:14 | + ap.oversamp = 10; |
02-May-2019 19:43:14 | ap.x0=-13.0; ap.y0=-13.0; |
02-May-2019 19:43:14 | ap.dx=0.5; ap.dy=0.5; |
02-May-2019 19:43:14 | |
02-May-2019 19:43:14 | @@ -166,15 +166,15 @@ namespace casa{ |
02-May-2019 19:43:14 | regridAperture(skyCS, skyShape, uvGrid, pa, doSquint, bandID, muellerTerm,freqVal); |
02-May-2019 19:43:14 | |
02-May-2019 19:43:14 | pbImage.setCoordinateInfo(skyCS); |
02-May-2019 19:43:14 | - // { |
02-May-2019 19:43:14 | - // string name("aperture.im"); |
02-May-2019 19:43:14 | - // storeImg(name,*(ap.aperture)); |
02-May-2019 19:43:14 | - // } |
02-May-2019 19:43:14 | + { |
02-May-2019 19:43:14 | + string name("aperture.im"); |
02-May-2019 19:43:14 | + storeImg(name,*(ap.aperture)); |
02-May-2019 19:43:14 | + } |
02-May-2019 19:43:14 | fillPB(*(ap.aperture),pbImage); |
02-May-2019 19:43:14 | - //{ |
02-May-2019 19:43:14 | - // string name("apb.im"); |
02-May-2019 19:43:14 | - // storeImg(name,pbImage); |
02-May-2019 19:43:14 | - //} |
02-May-2019 19:43:14 | + { |
02-May-2019 19:43:14 | + string name("apb.im"); |
02-May-2019 19:43:14 | + storeImg(name,pbImage); |
02-May-2019 19:43:14 | + } |
02-May-2019 19:43:14 | } |
02-May-2019 19:43:14 | //-------------------------------------------------------------------------- |
02-May-2019 19:43:14 | // Write PB^2 to the pbImage |
02-May-2019 19:43:14 | diff --git a/code/synthesis/TransformMachines/ZernikeCalc.cc b/code/synthesis/TransformMachines/ZernikeCalc.cc |
02-May-2019 19:43:14 | new file mode 100644 |
02-May-2019 19:43:14 | index 0000000..a8187d5 |
02-May-2019 19:43:14 | --- /dev/null |
02-May-2019 19:43:14 | +++ b/code/synthesis/TransformMachines/ZernikeCalc.cc |
02-May-2019 19:43:14 | @@ -0,0 +1,444 @@ |
02-May-2019 19:43:14 | +//# ZernikeCalc.cc: Implementation for ZernikeCalc |
02-May-2019 19:43:14 | +//# Copyright (C) 1996,1997,1998,1999,2000,2002 |
02-May-2019 19:43:14 | +//# Associated Universities, Inc. Washington DC, USA. |
02-May-2019 19:43:14 | +//# |
02-May-2019 19:43:14 | +//# This library is free software; you can redistribute it and/or modify it |
02-May-2019 19:43:14 | +//# under the terms of the GNU Library General Public License as published by |
02-May-2019 19:43:14 | +//# the Free Software Foundation; either version 2 of the License, or (at your |
02-May-2019 19:43:14 | +//# option) any later version. |
02-May-2019 19:43:14 | +//# |
02-May-2019 19:43:14 | +//# This library is distributed in the hope that it will be useful, but WITHOUT |
02-May-2019 19:43:14 | +//# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or |
02-May-2019 19:43:14 | +//# FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public |
02-May-2019 19:43:14 | +//# License for more details. |
02-May-2019 19:43:14 | +//# |
02-May-2019 19:43:14 | +//# You should have received a copy of the GNU Library General Public License |
02-May-2019 19:43:14 | +//# along with this library; if not, write to the Free Software Foundation, |
02-May-2019 19:43:14 | +//# Inc., 675 Massachusetts Ave, Cambridge, MA 02139, USA. |
02-May-2019 19:43:14 | +//# |
02-May-2019 19:43:14 | +//# Correspondence concerning AIPS++ should be adressed as follows: |
02-May-2019 19:43:14 | +//# Internet email: aips2-request@nrao.edu. |
02-May-2019 19:43:14 | +//# Postal address: AIPS++ Project Office |
02-May-2019 19:43:14 | +//# National Radio Astronomy Observatory |
02-May-2019 19:43:14 | +//# 520 Edgemont Road |
02-May-2019 19:43:14 | +//# Charlottesville, VA 22903-2475 USA |
02-May-2019 19:43:14 | +//# |
02-May-2019 19:43:14 | +//# |
02-May-2019 19:43:14 | +//# $Id$ |
02-May-2019 19:43:14 | + |
02-May-2019 19:43:14 | +#include <casa/math.h> |
02-May-2019 19:43:14 | +#include <math.h> |
02-May-2019 19:43:14 | +//#include <images/Images/TempImage.h> |
02-May-2019 19:43:14 | +//#include <imageanalysis/ImageAnalysis/AntennaResponses.h> |
02-May-2019 19:43:14 | +//#include <tables/Tables/TableProxy.h> |
02-May-2019 19:43:14 | +//#include <casa/Exceptions.h> |
02-May-2019 19:43:14 | +//#include <casa/Containers/ValueHolder.h> |
02-May-2019 19:43:14 | +//#include <casa/Arrays/Array.h> |
02-May-2019 19:43:14 | +//#include <synthesis/TransformMachines/SynthesisError.h> |
02-May-2019 19:43:14 | +//#include <synthesis/TransformMachines/ZernikeCalc.h> |
02-May-2019 19:43:14 | +//#include <casa/OS/Timer.h> |
02-May-2019 19:43:14 | +//#include <casa/System/AppState.h> |
02-May-2019 19:43:14 | +//#include <casa/OS/Directory.h> |
02-May-2019 19:43:14 | +#include <images/Images/TempImage.h> |
02-May-2019 19:43:14 | +#include <synthesis/TransformMachines/ZernikeCalc.h> |
02-May-2019 19:43:14 | +#include <casacore/scimath/Mathematics/Combinatorics.h> |
02-May-2019 19:43:14 | +#include <synthesis/TransformMachines2/Utils.h> |
02-May-2019 19:43:14 | + |
02-May-2019 19:43:14 | + |
02-May-2019 19:43:14 | +using namespace std; |
02-May-2019 19:43:14 | +using namespace casacore; |
02-May-2019 19:43:14 | +namespace casa { |
02-May-2019 19:43:14 | + |
02-May-2019 19:43:14 | + ZernikeCalc* ZernikeCalc::instance_p = 0; |
02-May-2019 19:43:14 | + |
02-May-2019 19:43:14 | + ZernikeCalc* ZernikeCalc::Instance(){ |
02-May-2019 19:43:14 | + if(instance_p==0){ |
02-May-2019 19:43:14 | + instance_p = new ZernikeCalc(); |
02-May-2019 19:43:14 | + } |
02-May-2019 19:43:14 | + return instance_p; |
02-May-2019 19:43:14 | + } |
02-May-2019 19:43:14 | + |
02-May-2019 19:43:14 | + |
02-May-2019 19:43:14 | + Int ZernikeCalc::rcoeff(int m, int n, Vector< Vector<float> > *xCoords, |
02-May-2019 19:43:14 | + Vector< Vector<float> > *yCoords, int xSize, int ySize, |
02-May-2019 19:43:14 | + Vector< Vector<double> > *R) |
02-May-2019 19:43:14 | + { |
02-May-2019 19:43:14 | + // Vector< Vector<double> > rho(xSize, Vector<double>(ySize, 0)); |
02-May-2019 19:43:14 | + Vector< Vector <double> > rho(xSize); |
02-May-2019 19:43:14 | + for (int ii=0; ii<xSize; ii++){ |
02-May-2019 19:43:14 | + rho[ii].resize(ySize); |
02-May-2019 19:43:14 | + for (int jj=0; jj<ySize; jj++) |
02-May-2019 19:43:14 | + rho[ii][jj]=0; |
02-May-2019 19:43:14 | + } |
02-May-2019 19:43:14 | + |
02-May-2019 19:43:14 | + if (abs(n-m) % 2) { |
02-May-2019 19:43:14 | + return 0; |
02-May-2019 19:43:14 | + } |
02-May-2019 19:43:14 | + |
02-May-2019 19:43:14 | + // int cx, cy; |
02-May-2019 19:43:14 | + // cx = xSize/2; |
02-May-2019 19:43:14 | + // cy = ySize/2; |
02-May-2019 19:43:14 | + |
02-May-2019 19:43:14 | + for (int ii = 0; ii < xSize; ii++) { |
02-May-2019 19:43:14 | + for(int jj = 0; jj < ySize; jj++) { |
02-May-2019 19:43:14 | + |
02-May-2019 19:43:14 | + rho[ii][jj] = sqrt(pow((*xCoords)[ii][jj],2) + pow((*yCoords)[ii][jj], 2)); |
02-May-2019 19:43:14 | + |
02-May-2019 19:43:14 | + } |
02-May-2019 19:43:14 | + |
02-May-2019 19:43:14 | + } |
02-May-2019 19:43:14 | + |
02-May-2019 19:43:14 | + |
02-May-2019 19:43:14 | + // for (int ii = 0; ii < xSize; ii++) { |
02-May-2019 19:43:14 | + // for(int jj = 0; jj < ySize; jj++) { |
02-May-2019 19:43:14 | + // if (sqrt(pow((ii-cx),2)+ pow((jj-cy),2)) > cx) { |
02-May-2019 19:43:14 | + // rho[ii][jj] = 0; |
02-May-2019 19:43:14 | + // } |
02-May-2019 19:43:14 | + // } |
02-May-2019 19:43:14 | + // } |
02-May-2019 19:43:14 | + |
02-May-2019 19:43:14 | + int lim = (int)((n-m)/2) + 1; |
02-May-2019 19:43:14 | + double num = 0, den = 0, num2 = 0; |
02-May-2019 19:43:14 | + |
02-May-2019 19:43:14 | +//#pragma omp parallel for schedule(dynamic) |
02-May-2019 19:43:14 | + for(int ll = 0; ll < lim; ll++) { |
02-May-2019 19:43:14 | + den = boost::math::factorial<double>(ll) * boost::math::factorial<double>(((n+m)/2)-ll) *\ |
02-May-2019 19:43:14 | + boost::math::factorial<double>(((n-m)/2)-ll); |
02-May-2019 19:43:14 | + num2 = pow(-1.0,(double)ll) * boost::math::factorial<double>(n-ll); // num2 here is to reduce the compute within the i-j loop below |
02-May-2019 19:43:14 | + |
02-May-2019 19:43:14 | + for (int ii = 0; ii < xSize; ii++) { |
02-May-2019 19:43:14 | + for(int jj = 0; jj < ySize; jj++) { |
02-May-2019 19:43:14 | + num = pow(rho[ii][jj], (double)(n-(2*ll))) * num2; |
02-May-2019 19:43:14 | + (*R)[ii][jj] += num/den; |
02-May-2019 19:43:14 | + } |
02-May-2019 19:43:14 | + } |
02-May-2019 19:43:14 | + } |
02-May-2019 19:43:14 | + return 0; |
02-May-2019 19:43:14 | + } |
02-May-2019 19:43:14 | + |
02-May-2019 19:43:14 | + |
02-May-2019 19:43:14 | + Int ZernikeCalc::zernikeTerm(Vector<int> *m, Vector<int> *n, Vector<double> *ampR, Vector<double> *ampI, |
02-May-2019 19:43:14 | + Vector< Vector<float> > *xCoords, Vector< Vector<float> > *yCoords, int xSize, int ySize, |
02-May-2019 19:43:14 | + Vector< Vector<Complex> > *zTerm) |
02-May-2019 19:43:14 | + { |
02-May-2019 19:43:14 | + |
02-May-2019 19:43:14 | + // Vector< Vector<double>> phi(xSize, Vector<double> (ySize,0)); |
02-May-2019 19:43:14 | + Vector< Vector<double>> phi; |
02-May-2019 19:43:14 | + phi.resize(xSize); |
02-May-2019 19:43:14 | + |
02-May-2019 19:43:14 | + for (int ii = 0; ii < xSize; ii++) { |
02-May-2019 19:43:14 | + phi[ii].resize(ySize); |
02-May-2019 19:43:14 | + for(int jj = 0; jj < ySize; jj++) { |
02-May-2019 19:43:14 | + phi[ii][jj] = atan2((*yCoords)[ii][jj], (*xCoords)[ii][jj]); |
02-May-2019 19:43:14 | + (*zTerm)[ii][jj] = 0; |
02-May-2019 19:43:14 | + } |
02-May-2019 19:43:14 | + } |
02-May-2019 19:43:14 | + |
02-May-2019 19:43:14 | + |
02-May-2019 19:43:14 | + |
02-May-2019 19:43:14 | + int NZ=refim::SynthesisUtils::getenv("NZ",144); |
02-May-2019 19:43:14 | + // cout << "NZ = " << NZ << endl; |
02-May-2019 19:43:14 | + |
02-May-2019 19:43:14 | + //int CUTOFF=refim::SynthesisUtils::getenv("CUTOFF",10); |
02-May-2019 19:43:14 | + //cout << "CUTOFF = " << CUTOFF << endl; |
02-May-2019 19:43:14 | + //float cutoff; |
02-May-2019 19:43:14 | + //if (CUTOFF > 10) |
02-May-2019 19:43:14 | + // cutoff = CUTOFF/100; |
02-May-2019 19:43:14 | + //else |
02-May-2019 19:43:14 | + // cutoff = CUTOFF/10.; |
02-May-2019 19:43:14 | + |
02-May-2019 19:43:14 | + double maxR = 0, maxI = 0; |
02-May-2019 19:43:14 | + for (uint tt = 0; tt < NZ; tt++) { |
02-May-2019 19:43:14 | + if ((*ampR)[tt] > maxR) |
02-May-2019 19:43:14 | + maxR = (*ampR)[tt]; |
02-May-2019 19:43:14 | + |
02-May-2019 19:43:14 | + if ((*ampI)[tt] > maxI) |
02-May-2019 19:43:14 | + maxI = (*ampI)[tt]; |
02-May-2019 19:43:14 | + } |
02-May-2019 19:43:14 | + |
02-May-2019 19:43:14 | + for (uint tt = 0; tt < NZ; tt++) { |
02-May-2019 19:43:14 | + (*ampR)[tt] /= maxR; |
02-May-2019 19:43:14 | + (*ampI)[tt] /= maxI; |
02-May-2019 19:43:14 | + } |
02-May-2019 19:43:14 | + |
02-May-2019 19:43:14 | + for(uint tt = 0; tt < NZ; tt++) { |
02-May-2019 19:43:14 | + //cout << "ampR " << (*ampR)[tt] << " ampI " << (*ampI)[tt] << endl; |
02-May-2019 19:43:14 | + // Vector< Vector<double>> R(xSize, Vector<double> (ySize,0)); |
02-May-2019 19:43:14 | + // cout << "M value : "<< (*m)[tt] << " n value : " << (*n)[tt] << " tt "<< tt << endl; |
02-May-2019 19:43:14 | + |
02-May-2019 19:43:14 | + Vector<Vector<double>> R; |
02-May-2019 19:43:14 | + R.resize(xSize); |
02-May-2019 19:43:14 | + for (int ii = 0; ii < xSize; ii++){ |
02-May-2019 19:43:14 | + R[ii].resize(ySize); |
02-May-2019 19:43:14 | + for (int jj =0; jj < ySize; jj++) |
02-May-2019 19:43:14 | + R[ii][jj]=0; |
02-May-2019 19:43:14 | + } |
02-May-2019 19:43:14 | + |
02-May-2019 19:43:14 | + if (((*n)[tt]-(*m)[tt]) % 2 != 0) |
02-May-2019 19:43:14 | + continue; |
02-May-2019 19:43:14 | + |
02-May-2019 19:43:14 | + int fac = 1; |
02-May-2019 19:43:14 | + if ((*n)[tt] % 2 == 0) { |
02-May-2019 19:43:14 | + if ((*n)[tt] != 0) { |
02-May-2019 19:43:14 | + fac = -1; |
02-May-2019 19:43:14 | + } |
02-May-2019 19:43:14 | + } |
02-May-2019 19:43:14 | + |
02-May-2019 19:43:14 | + int M; |
02-May-2019 19:43:14 | + if ((*m)[tt] < 0) { |
02-May-2019 19:43:14 | + M = -(*m)[tt]; |
02-May-2019 19:43:14 | + } |
02-May-2019 19:43:14 | + else { |
02-May-2019 19:43:14 | + M = (*m)[tt]; |
02-May-2019 19:43:14 | + } |
02-May-2019 19:43:14 | + |
02-May-2019 19:43:14 | + rcoeff(M, (*n)[tt], xCoords, yCoords, xSize, ySize, &R); |
02-May-2019 19:43:14 | + |
02-May-2019 19:43:14 | + double tmpzern; |
02-May-2019 19:43:14 | + int cx, cy; |
02-May-2019 19:43:14 | + cx = xSize/2; |
02-May-2019 19:43:14 | + cy = ySize/2; |
02-May-2019 19:43:14 | + |
02-May-2019 19:43:14 | +//#pragma omp parallel for schedule(dynamic) |
02-May-2019 19:43:14 | + for (int ii = 0; ii < xSize; ii++) { |
02-May-2019 19:43:14 | + for(int jj = 0; jj < ySize; jj++) { |
02-May-2019 19:43:14 | + if (R[ii][jj] == 0) |
02-May-2019 19:43:14 | + continue; |
02-May-2019 19:43:14 | + |
02-May-2019 19:43:14 | + if ((*m)[tt] > 0){ |
02-May-2019 19:43:14 | + tmpzern = fac * R[ii][jj] * cos((*m)[tt]*phi[ii][jj]); |
02-May-2019 19:43:14 | + } |
02-May-2019 19:43:14 | + else if ((*m)[tt] < 0){ |
02-May-2019 19:43:14 | + tmpzern = fac * R[ii][jj] * sin(-(*m)[tt]*phi[ii][jj]); |
02-May-2019 19:43:14 | + } |
02-May-2019 19:43:14 | + else { |
02-May-2019 19:43:14 | + tmpzern = fac * R[ii][jj]; |
02-May-2019 19:43:14 | + } |
02-May-2019 19:43:14 | + |
02-May-2019 19:43:14 | + (*zTerm)[ii][jj] += Complex((*ampR)[tt]*tmpzern, (*ampI)[tt]*tmpzern); |
02-May-2019 19:43:14 | + |
02-May-2019 19:43:14 | + if (sqrt(pow((ii-cx),2)+ pow((jj-cy),2)) > 0.7*cx) { // the 0.7 is an arbitrary scaling fix this |
02-May-2019 19:43:14 | + (*zTerm)[ii][jj] = Complex(0,0); |
02-May-2019 19:43:14 | + } |
02-May-2019 19:43:14 | + } |
02-May-2019 19:43:14 | + } |
02-May-2019 19:43:14 | + } |
02-May-2019 19:43:14 | + return 0; |
02-May-2019 19:43:14 | + } |
02-May-2019 19:43:14 | + |
02-May-2019 19:43:14 | + |
02-May-2019 19:43:14 | + Int ZernikeCalc::fillAperture(Vector<double> *ampR, Vector<double> *ampI, |
02-May-2019 19:43:14 | + Vector<int> *m, Vector<int> *n, Vector< Vector<float> > *xCoords, |
02-May-2019 19:43:14 | + Vector< Vector<float> > *yCoords, const int xSize, const int ySize, |
02-May-2019 19:43:14 | + ApertureCalcParams *ap) |
02-May-2019 19:43:14 | + { |
02-May-2019 19:43:14 | + |
02-May-2019 19:43:14 | + IPosition shape(ap->aperture->shape()); |
02-May-2019 19:43:14 | + Array<Complex> tmpImg(shape); |
02-May-2019 19:43:14 | + ap->aperture->get(&tmpImg); |
02-May-2019 19:43:14 | + |
02-May-2019 19:43:14 | + // cout << "ap oversamp " << ap->oversamp << endl; |
02-May-2019 19:43:14 | + // cout << "ap dx " << ap->dx << " ap dy " << ap->dy << endl; |
02-May-2019 19:43:14 | + // cout << "ap nx " << ap->nx << " ap ny " << ap->ny << endl; |
02-May-2019 19:43:14 | + |
02-May-2019 19:43:14 | + // Timer tim; |
02-May-2019 19:43:14 | + // Vector< Vector<Complex> > zTerm(xSize, Vector<Complex>(ySize,0)); |
02-May-2019 19:43:14 | + Vector< Vector <Complex> > zTerm; |
02-May-2019 19:43:14 | + zTerm.resize(xSize); |
02-May-2019 19:43:14 | + for (int ii = 0; ii<xSize; ii++){ |
02-May-2019 19:43:14 | + zTerm[ii].resize(ySize); |
02-May-2019 19:43:14 | + for (int jj = 0; jj<ySize; jj++) |
02-May-2019 19:43:14 | + zTerm[ii][jj]=0; |
02-May-2019 19:43:14 | + } |
02-May-2019 19:43:14 | + |
02-May-2019 19:43:14 | + |
02-May-2019 19:43:14 | + if ((ampR->size() != m->size()) && (m->size() != n->size())) { |
02-May-2019 19:43:14 | + throw length_error("amp, m, and n vectors should be identical length"); |
02-May-2019 19:43:14 | + } |
02-May-2019 19:43:14 | + |
02-May-2019 19:43:14 | + // tim.mark(); |
02-May-2019 19:43:14 | + zernikeTerm(m, n, ampR, ampI, xCoords, yCoords, xSize, ySize, &zTerm); |
02-May-2019 19:43:14 | + // cout << "Time taken to generate zernike surface " << tim.real() << endl; |
02-May-2019 19:43:14 | + |
02-May-2019 19:43:14 | + // tim.mark(); |
02-May-2019 19:43:14 | +//#pragma omp parallel for schedule(dynamic) |
02-May-2019 19:43:14 | + for(int ii=0; ii < shape(3); ii++) { |
02-May-2019 19:43:14 | + for(int ij=0; ij < shape(2); ij++) { |
02-May-2019 19:43:14 | + |
02-May-2019 19:43:14 | + for(int ik=(ap->ny-ySize)/2; ik < (ap->ny + ySize)/2; ik++) { |
02-May-2019 19:43:14 | +//#pragma omp simd |
02-May-2019 19:43:14 | + for(int il=(ap->nx-xSize)/2; il < (ap->nx + xSize)/2; il++) { |
02-May-2019 19:43:14 | + int zk = ik - (ap->ny-ySize)/2; |
02-May-2019 19:43:14 | + int zl = il - (ap->nx-xSize)/2; |
02-May-2019 19:43:14 | + |
02-May-2019 19:43:14 | + tmpImg[ii][ij][ik][il] = tmpImg[ii][ij][ik][il] + zTerm[zk][zl]; |
02-May-2019 19:43:14 | + } |
02-May-2019 19:43:14 | + } |
02-May-2019 19:43:14 | + } |
02-May-2019 19:43:14 | + } |
02-May-2019 19:43:14 | + |
02-May-2019 19:43:14 | + // cout << "Time taken to fill aperture " << tim.real() << endl; |
02-May-2019 19:43:14 | + |
02-May-2019 19:43:14 | + ap->aperture->put(tmpImg); |
02-May-2019 19:43:14 | + |
02-May-2019 19:43:14 | + return 0; |
02-May-2019 19:43:14 | + } |
02-May-2019 19:43:14 | + |
02-May-2019 19:43:14 | + |
02-May-2019 19:43:14 | + Int ZernikeCalc::computePixelValuesZ(int nx, int ny, |
02-May-2019 19:43:14 | + Vector< Vector<float> > *xCoords, Vector< Vector<float> > *yCoords) |
02-May-2019 19:43:14 | + { |
02-May-2019 19:43:14 | + float dx, dy; |
02-May-2019 19:43:14 | + |
02-May-2019 19:43:14 | + // 2 is the total interval across which the Zernike is defined, |
02-May-2019 19:43:14 | + // i.e., from (-1, 1). |
02-May-2019 19:43:14 | + dx = 2./nx; |
02-May-2019 19:43:14 | + dy = 2./ny; |
02-May-2019 19:43:14 | + |
02-May-2019 19:43:14 | + |
02-May-2019 19:43:14 | + // This effectively replicates numpy.meshgrid |
02-May-2019 19:43:14 | + for(int xx = 0; xx < nx; xx++) { |
02-May-2019 19:43:14 | + for(int yy = 0; yy < ny; yy++){ |
02-May-2019 19:43:14 | + |
02-May-2019 19:43:14 | + (*xCoords)[xx][yy] = -1 + xx*dx; |
02-May-2019 19:43:14 | + (*yCoords)[xx][yy] = -1 + yy*dy; |
02-May-2019 19:43:14 | + } |
02-May-2019 19:43:14 | + } |
02-May-2019 19:43:14 | + |
02-May-2019 19:43:14 | + return 0; |
02-May-2019 19:43:14 | + } |
02-May-2019 19:43:14 | + |
02-May-2019 19:43:14 | + |
02-May-2019 19:43:14 | + Int ZernikeCalc::calculateApertureZ(ApertureCalcParams *ap, Vector< Vector<float> > *xCoords, |
02-May-2019 19:43:14 | + Vector< Vector<float> > *yCoords, const int xSize, const int ySize, FILE *fptr, int inStokes) |
02-May-2019 19:43:14 | + { |
02-May-2019 19:43:14 | + /* Write function to sum individual Zernike surfaces with the |
02-May-2019 19:43:14 | + * appropriate amplitudes */ |
02-May-2019 19:43:14 | + int size = sizeof(VLA_R0.ampR)/sizeof(VLA_R0.ampR[0]); |
02-May-2019 19:43:14 | + Vector<double> ampR(size); |
02-May-2019 19:43:14 | + Vector<double> ampI(size); |
02-May-2019 19:43:14 | + Vector<int> m(size); |
02-May-2019 19:43:14 | + Vector<int> n(size); |
02-May-2019 19:43:14 | + |
02-May-2019 19:43:14 | + fill(ampR.begin(), ampR.end(), 0); |
02-May-2019 19:43:14 | + fill(ampI.begin(), ampI.end(), 0); |
02-May-2019 19:43:14 | + fill(m.begin(), m.end(), 0); |
02-May-2019 19:43:14 | + fill(n.begin(), n.end(), 0); |
02-May-2019 19:43:14 | + |
02-May-2019 19:43:14 | + if (inStokes == Stokes::RR) |
02-May-2019 19:43:14 | + { |
02-May-2019 19:43:14 | + // The VLA_?? struct has arrays, convert to vectors since rest of the code |
02-May-2019 19:43:14 | + // expects vectors. Each vector is small so this is cheap |
02-May-2019 19:43:14 | + int size = sizeof(VLA_R0.ampR)/sizeof(VLA_R0.ampR[0]); |
02-May-2019 19:43:14 | + |
02-May-2019 19:43:14 | +//#pragma omp simd |
02-May-2019 19:43:14 | + for(int ii = 0; ii < size; ii++) { |
02-May-2019 19:43:14 | + ampR[ii] = VLA_R0.ampR[ii]; |
02-May-2019 19:43:14 | + ampI[ii] = VLA_R0.ampI[ii]; |
02-May-2019 19:43:14 | + m[ii] = VLA_R0.m[ii]; |
02-May-2019 19:43:14 | + n[ii] = VLA_R0.n[ii]; |
02-May-2019 19:43:14 | + } |
02-May-2019 19:43:14 | + |
02-May-2019 19:43:14 | + } |
02-May-2019 19:43:14 | + |
02-May-2019 19:43:14 | + else if (inStokes == Stokes::LL) |
02-May-2019 19:43:14 | + { |
02-May-2019 19:43:14 | + // The VLA_?? struct has arrays, convert to vectors since rest of the code |
02-May-2019 19:43:14 | + // expects vectors. Each vector is small so this is cheap |
02-May-2019 19:43:14 | + int size = sizeof(VLA_L0.ampR)/sizeof(VLA_L0.ampR[0]); |
02-May-2019 19:43:14 | + |
02-May-2019 19:43:14 | +//#pragma omp simd |
02-May-2019 19:43:14 | + for(int ii = 0; ii < size; ii++) { |
02-May-2019 19:43:14 | + ampR[ii] = VLA_L0.ampR[ii]; |
02-May-2019 19:43:14 | + ampI[ii] = VLA_L0.ampI[ii]; |
02-May-2019 19:43:14 | + m[ii] = VLA_L0.m[ii]; |
02-May-2019 19:43:14 | + n[ii] = VLA_L0.n[ii]; |
02-May-2019 19:43:14 | + } |
02-May-2019 19:43:14 | + |
02-May-2019 19:43:14 | + } |
02-May-2019 19:43:14 | + |
02-May-2019 19:43:14 | + if (inStokes == Stokes::XX) |
02-May-2019 19:43:14 | + { |
02-May-2019 19:43:14 | + // The VLA_?? struct has arrays, convert to vectors since rest of the code |
02-May-2019 19:43:14 | + // expects vectors. Each vector is small so this is cheap |
02-May-2019 19:43:14 | + int size = sizeof(MeerKAT_X0.ampR)/sizeof(MeerKAT_X0.ampR[0]); |
02-May-2019 19:43:14 | + |
02-May-2019 19:43:14 | +//#pragma omp simd |
02-May-2019 19:43:14 | + for(int ii = 0; ii < size; ii++) { |
02-May-2019 19:43:14 | + ampR[ii] = MeerKAT_X0.ampR[ii]; |
02-May-2019 19:43:14 | + ampI[ii] = MeerKAT_X0.ampI[ii]; |
02-May-2019 19:43:14 | + m[ii] = MeerKAT_X0.m[ii]; |
02-May-2019 19:43:14 | + n[ii] = MeerKAT_X0.n[ii]; |
02-May-2019 19:43:14 | + } |
02-May-2019 19:43:14 | + |
02-May-2019 19:43:14 | + } |
02-May-2019 19:43:14 | + |
02-May-2019 19:43:14 | + else if (inStokes == Stokes::YY) |
02-May-2019 19:43:14 | + { |
02-May-2019 19:43:14 | + // The VLA_?? struct has arrays, convert to vectors since rest of the code |
02-May-2019 19:43:14 | + // expects vectors. Each vector is small so this is cheap |
02-May-2019 19:43:14 | + int size = sizeof(MeerKAT_Y0.ampR)/sizeof(MeerKAT_Y0.ampR[0]); |
02-May-2019 19:43:14 | + |
02-May-2019 19:43:14 | +//#pragma omp simd |
02-May-2019 19:43:14 | + for(int ii = 0; ii < size; ii++) { |
02-May-2019 19:43:14 | + ampR[ii] = MeerKAT_Y0.ampR[ii]; |
02-May-2019 19:43:14 | + ampI[ii] = MeerKAT_Y0.ampI[ii]; |
02-May-2019 19:43:14 | + m[ii] = MeerKAT_Y0.m[ii]; |
02-May-2019 19:43:14 | + n[ii] = MeerKAT_Y0.n[ii]; |
02-May-2019 19:43:14 | + } |
02-May-2019 19:43:14 | + |
02-May-2019 19:43:14 | + } |
02-May-2019 19:43:14 | + |
02-May-2019 19:43:14 | + |
02-May-2019 19:43:14 | + fillAperture(&R, &I, &m, &n, xCoords, yCoords, xSize, ySize, ap); |
02-May-2019 19:43:14 | + |
02-May-2019 19:43:14 | + |
02-May-2019 19:43:14 | + return 0; |
02-May-2019 19:43:14 | + } |
02-May-2019 19:43:14 | + |
02-May-2019 19:43:14 | + |
02-May-2019 19:43:14 | + /* buildApertureZ contructs the aperture image within ApertureCalcParams, |
02-May-2019 19:43:14 | + * i.e., ap->aperture. The meat of the computation sits within |
02-May-2019 19:43:14 | + * calculateApertureZ, which reads from a text file that contains the Zernike |
02-May-2019 19:43:14 | + * powers as a function of frequency and polarization, and fills the |
02-May-2019 19:43:14 | + * appropriate plane in ap->aperture |
02-May-2019 19:43:14 | + */ |
02-May-2019 19:43:14 | + |
02-May-2019 19:43:14 | + Int ZernikeCalc::buildApertureZ(ApertureCalcParams *ap, int inStokes) { |
02-May-2019 19:43:14 | + int nx, ny; |
02-May-2019 19:43:14 | + |
02-May-2019 19:43:14 | + nx = ap->nx; |
02-May-2019 19:43:14 | + ny = ap->ny; |
02-May-2019 19:43:14 | + |
02-May-2019 19:43:14 | + //ap->oversamp *= ap->oversamp; |
02-May-2019 19:43:14 | + |
02-May-2019 19:43:14 | + // Trim the size of zTerm to be the smallest bounding box around the |
02-May-2019 19:43:14 | + // aperture |
02-May-2019 19:43:14 | + int xSize = round((nx * ap->dx * ap->oversamp) / VLA_L0.antDia); |
02-May-2019 19:43:14 | + int ySize = round((ny * ap->dy * ap->oversamp) / VLA_L0.antDia); |
02-May-2019 19:43:14 | + |
02-May-2019 19:43:14 | + Vector< Vector<float> > xCoords; |
02-May-2019 19:43:14 | + Vector< Vector<float> > yCoords; |
02-May-2019 19:43:14 | + xCoords.resize(xSize); yCoords.resize(xSize); |
02-May-2019 19:43:14 | + for(int i=0;i<xSize;i++) |
02-May-2019 19:43:14 | + { |
02-May-2019 19:43:14 | + xCoords[i].resize(ySize); |
02-May-2019 19:43:14 | + yCoords[i].resize(ySize); |
02-May-2019 19:43:14 | + } |
02-May-2019 19:43:14 | + |
02-May-2019 19:43:14 | + computePixelValuesZ(xSize, ySize, &xCoords, &yCoords); |
02-May-2019 19:43:14 | + |
02-May-2019 19:43:14 | + FILE *fptr; |
02-May-2019 19:43:14 | + fptr = fopen("~/casa/casa/VLA_Lband_ant12_LL_zcoeffs.csv", "r"); |
02-May-2019 19:43:14 | + |
02-May-2019 19:43:14 | + calculateApertureZ(ap, &xCoords, &yCoords, xSize, ySize, fptr, inStokes); |
02-May-2019 19:43:14 | + |
02-May-2019 19:43:14 | + //ap->dx /= ap->oversamp; |
02-May-2019 19:43:14 | + //ap->dy /= ap->oversamp; |
02-May-2019 19:43:14 | + |
02-May-2019 19:43:14 | + return 0; |
02-May-2019 19:43:14 | + |
02-May-2019 19:43:14 | + } |
02-May-2019 19:43:14 | + |
02-May-2019 19:43:14 | + |
02-May-2019 19:43:14 | +}; |
02-May-2019 19:43:14 | diff --git a/code/synthesis/TransformMachines/ZernikeCalc.h b/code/synthesis/TransformMachines/ZernikeCalc.h |
02-May-2019 19:43:14 | new file mode 100644 |
02-May-2019 19:43:14 | index 0000000..13fccb5 |
02-May-2019 19:43:14 | --- /dev/null |
02-May-2019 19:43:14 | +++ b/code/synthesis/TransformMachines/ZernikeCalc.h |
02-May-2019 19:43:14 | @@ -0,0 +1,99 @@ |
02-May-2019 19:43:14 | +//# ZernikeCalc.h: Definition for ZernikeCalc |
02-May-2019 19:43:14 | +//# Copyright (C) 1996,1997,1998,1999,2000,2002 |
02-May-2019 19:43:14 | +//# Associated Universities, Inc. Washington DC, USA. |
02-May-2019 19:43:14 | +//# |
02-May-2019 19:43:14 | +//# This library is free software; you can redistribute it and/or modify it |
02-May-2019 19:43:14 | +//# under the terms of the GNU Library General Public License as published by |
02-May-2019 19:43:14 | +//# the Free Software Foundation; either version 2 of the License, or (at your |
02-May-2019 19:43:14 | +//# option) any later version. |
02-May-2019 19:43:14 | +//# |
02-May-2019 19:43:14 | +//# This library is distributed in the hope that it will be useful, but WITHOUT |
02-May-2019 19:43:14 | +//# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or |
02-May-2019 19:43:14 | +//# FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public |
02-May-2019 19:43:14 | +//# License for more details. |
02-May-2019 19:43:14 | +//# |
02-May-2019 19:43:14 | +//# You should have received a copy of the GNU Library General Public License |
02-May-2019 19:43:14 | +//# along with this library; if not, write to the Free Software Foundation, |
02-May-2019 19:43:14 | +//# Inc., 675 Massachusetts Ave, Cambridge, MA 02139, USA. |
02-May-2019 19:43:14 | +//# |
02-May-2019 19:43:14 | +//# Correspondence concerning AIPS++ should be adressed as follows: |
02-May-2019 19:43:14 | +//# Internet email: aips2-request@nrao.edu. |
02-May-2019 19:43:14 | +//# Postal address: AIPS++ Project Office |
02-May-2019 19:43:14 | +//# National Radio Astronomy Observatory |
02-May-2019 19:43:14 | +//# 520 Edgemont Road |
02-May-2019 19:43:14 | +//# Charlottesville, VA 22903-2475 USA |
02-May-2019 19:43:14 | +//# |
02-May-2019 19:43:14 | +//# |
02-May-2019 19:43:14 | +//# $Id$ |
02-May-2019 19:43:14 | + |
02-May-2019 19:43:14 | +#ifndef SYNTHESIS_ZERNIKECALC_H |
02-May-2019 19:43:14 | +#define SYNTHESIS_ZERNIKECALC_H |
02-May-2019 19:43:14 | + |
02-May-2019 19:43:14 | +#include <synthesis/TransformMachines/BeamCalc.h> |
02-May-2019 19:43:14 | +#include <casa/OS/Timer.h> |
02-May-2019 19:43:14 | +#include <boost/math/special_functions/factorials.hpp> |
02-May-2019 19:43:14 | +#include <measures/Measures/Stokes.h> |
02-May-2019 19:43:14 | + |
02-May-2019 19:43:14 | +using namespace std; |
02-May-2019 19:43:14 | +using namespace casacore; |
02-May-2019 19:43:14 | +namespace casa{ |
02-May-2019 19:43:14 | + |
02-May-2019 19:43:14 | + // XXX TODO: Convert n, m, ampR, ampI to vectors to be dynamically sized |
02-May-2019 19:43:14 | + // given user initialization list |
02-May-2019 19:43:14 | + |
02-May-2019 19:43:14 | + typedef struct { |
02-May-2019 19:43:14 | + int pol; // polarization enurated type is a temporary fix |
02-May-2019 19:43:14 | + int spw; // 0...N |
02-May-2019 19:43:14 | + int antType; // Index to distinguish antenna types for hetero array |
02-May-2019 19:43:14 | + |
02-May-2019 19:43:14 | + float freq; // In Hz |
02-May-2019 19:43:14 | + float antDia; // In metres |
02-May-2019 19:43:14 | + |
02-May-2019 19:43:14 | + int n[145]; |
02-May-2019 19:43:14 | + int m[145]; |
02-May-2019 19:43:14 | + |
02-May-2019 19:43:14 | + double ampR[145]; |
02-May-2019 19:43:14 | + double ampI[145]; |
02-May-2019 19:43:14 | + } ZernikeCalcCoeffs; |
02-May-2019 19:43:14 | + |
02-May-2019 19:43:14 | + extern ZernikeCalcCoeffs VLA_L0; |
02-May-2019 19:43:14 | + extern ZernikeCalcCoeffs VLA_R0; |
02-May-2019 19:43:14 | + extern ZernikeCalcCoeffs MeerKAT_X0; |
02-May-2019 19:43:14 | + extern ZernikeCalcCoeffs MeerKAT_Y0; |
02-May-2019 19:43:14 | + |
02-May-2019 19:43:14 | + class ZernikeCalc : public BeamCalc |
02-May-2019 19:43:14 | + { |
02-May-2019 19:43:14 | + public: |
02-May-2019 19:43:14 | + |
02-May-2019 19:43:14 | + // This is a SINGLETON class |
02-May-2019 19:43:14 | + static ZernikeCalc* Instance(); |
02-May-2019 19:43:14 | + |
02-May-2019 19:43:14 | + ~ZernikeCalc() {} |
02-May-2019 19:43:14 | + ZernikeCalc() {} |
02-May-2019 19:43:14 | + |
02-May-2019 19:43:14 | + //Int calculateApertureZ(ApertureCalcParams *ap); |
02-May-2019 19:43:14 | + Int calculateApertureZ(ApertureCalcParams *ap, Vector< Vector<float> > *xCoords, |
02-May-2019 19:43:14 | + Vector< Vector<float> > *yCoords, const int xSize, const int ySize, FILE *fptr, int inStokes); |
02-May-2019 19:43:14 | + Int buildApertureZ(ApertureCalcParams *ap, int inStokes); |
02-May-2019 19:43:14 | + |
02-May-2019 19:43:14 | + Int fillAperture(Vector<double> *ampR, Vector<double> *ampI, |
02-May-2019 19:43:14 | + Vector<int> *m, Vector<int> *n, Vector< Vector<float> > *xCoords, |
02-May-2019 19:43:14 | + Vector< Vector<float> > *yCoords, const int xSize, const int ySize, |
02-May-2019 19:43:14 | + ApertureCalcParams *ap); |
02-May-2019 19:43:14 | + |
02-May-2019 19:43:14 | + private: |
02-May-2019 19:43:14 | + Int rcoeff(int m, int n, Vector< Vector<float> > *xCoords, |
02-May-2019 19:43:14 | + Vector< Vector<float> > *yCoords, int xSize, int ySize, Vector< Vector<double> > *R); |
02-May-2019 19:43:14 | + |
02-May-2019 19:43:14 | + |
02-May-2019 19:43:14 | + Int zernikeTerm(Vector<int> *m, Vector<int> *n, Vector<double> *ampR, Vector<double> *ampI, |
02-May-2019 19:43:14 | + Vector< Vector<float> > *xCoords, Vector< Vector<float> > *yCoords, |
02-May-2019 19:43:14 | + int xSize, int ySize, Vector< Vector<Complex> > *zTerm); |
02-May-2019 19:43:14 | + |
02-May-2019 19:43:14 | + Int computePixelValuesZ(int nx, int ny, Vector< Vector<float> > *xCoords, Vector< Vector<float> > *yCoords); |
02-May-2019 19:43:14 | + |
02-May-2019 19:43:14 | + static ZernikeCalc* instance_p; |
02-May-2019 19:43:14 | + }; |
02-May-2019 19:43:14 | +}; |
02-May-2019 19:43:14 | + |
02-May-2019 19:43:14 | +#endif |
02-May-2019 19:43:14 | diff --git a/code/synthesis/TransformMachines/ZernikeCalcParams.cc b/code/synthesis/TransformMachines/ZernikeCalcParams.cc |
02-May-2019 19:43:14 | new file mode 100644 |
02-May-2019 19:43:14 | index 0000000..4933dd5 |
02-May-2019 19:43:14 | --- /dev/null |
02-May-2019 19:43:14 | +++ b/code/synthesis/TransformMachines/ZernikeCalcParams.cc |
02-May-2019 19:43:14 | @@ -0,0 +1,55 @@ |
02-May-2019 19:43:14 | +#include <synthesis/TransformMachines/ZernikeCalc.h> |
02-May-2019 19:43:14 | + |
02-May-2019 19:43:14 | +using namespace casacore; |
02-May-2019 19:43:14 | +namespace casa{ |
02-May-2019 19:43:14 | + |
02-May-2019 19:43:14 | + ZernikeCalcCoeffs VLA_R0 = { |
02-May-2019 19:43:14 | + 5, // polarization type |
02-May-2019 19:43:14 | + 0, // spw |
02-May-2019 19:43:14 | + 0, // antType |
02-May-2019 19:43:14 | + 1040.0, // freq |
02-May-2019 19:43:14 | + 25.0, // ant diam in metres |
02-May-2019 19:43:14 | + {0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,1,2,3,3,4,4,5,5,5,6,6,6,7,7,7,7,8,8,8,8,9,9,9,9,9,10,10,10,10,10,11,11,11,11,11,11,12,12,12,12,12,12,13,13,13,13,13,13,13,14,14,14,14,14,14,14,15,15,15,15,15,15,15,15,1,2,3,3,4,4,5,5,5,6,6,6,7,7,7,7,8,8,8,8,9,9,9,9,9,10,10,10,10,10,11,11,11,11,11,11,12,12,12,12,12,12,13,13,13,13,13,13,13,14,14,14,14,14,14,14,15,15,15,15,15,15,15,15},//n |
02-May-2019 19:43:14 | + {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,2,1,3,2,4,1,3,5,2,4,6,1,3,5,7,2,4,6,8,1,3,5,7,9,2,4,6,8,10,1,3,5,7,9,11,2,4,6,8,10,12,1,3,5,7,9,11,13,2,4,6,8,10,12,14,1,3,5,7,9,11,13,15,-1,-2,-3,-1,-4,-2,-5,-3,-1,-6,-4,-2,-7,-5,-3,-1,-8,-6,-4,-2,-9,-7,-5,-3,-1,-10,-8,-6,-4,-2,-11,-9,-7,-5,-3,-1,-12,-10,-8,-6,-4,-2,-13,-11,-9,-7,-5,-3,-1,-14,-12,-10,-8,-6,-4,-2,-15,-13,-11,-9,-7,-5,-3,-1},//m |
02-May-2019 19:43:14 | + {9168.719,1.0,-25335.611,1.0,-47955.077,1.0,-61413.507,1.0,-53959.853,1.0,-36873.614,1.0,-16887.094,1.0,-4597.637,1.0,-208588.805,145723.308,-321270.266,520716.098,169285.228,-1974530.802,-308366.049,502843.071,469852.777,135649.172,-1537120.846,-181560.631,-214427.977,353508.804,329898.43,-493778.928,79774.904,-862671.531,-105897.435,1775283.759,-110504.894,185143.881,172380.769,-260916.761,-250497.031,33918.102,-342075.983,-44603.326,727895.632,47494.237,-40637.614,70167.657,65078.085,-100240.968,-95753.074,109113.96,9790.511,-85435.235,-12553.733,195800.819,13386.622,-308912.554,-9535.697,17482.729,16078.039,-25657.325,-24298.065,28093.289,35372.167,1514.318,-9496.152,-1847.577,25886.975,1998.159,-44473.752,-1237.096,-945.05,2146.31,1920.414,-3369.996,-3087.451,3763.04,4800.499,-3102.324,-159088.476,-46735.784,-438174.124,-244739.38,-205151.714,-54166.577,440683.75,-422804.114,-234234.78,203405.593,-164585.171,-43106.999,424810.119,309834.605,-296885.091,-162118.893,111809.634,118952.191,-97165.914,-25009.395,-234309.877,223833.592,162262.924,-155162.796,-82945.921,-83741.36,49224.863,50257.65,-41651.118,-10361.269,-113055.365,-90044.648,85599.056,61498.508,-58609.113,-30090.973,18841.495,-23861.426,14816.18,14213.247,-12166.932,-2805.627,28195.713,-29161.592,-23045.486,21741.552,15314.465,-14502.38,-6865.227,2516.398,2810.296,-3655.923,2656.768,2101.175,-1966.334,-320.999,3585.811,3816.804,-3923.46,-3022.892,2781.004,1882.437,-1748.778,-602.369},//ampR |
02-May-2019 19:43:14 | + {56437.115,1.0,-141707.598,1.0,-164299.001,1.0,-130837.891,1.0,-76530.021,1.0,-32365.021,1.0,-9065.972,1.0,-1470.656,1.0,-1468962.401,-28934.798,-2276131.655,2366729.092,-33561.818,111230.214,-2210897.513,2300036.278,2645999.47,-26743.53,85908.067,43731.93,-1568129.429,1633481.585,1880780.286,-1260962.909,-15645.53,47598.355,25615.953,-55108.164,-832272.096,868939.06,1001908.997,-670138.408,-923057.806,-6620.162,18479.426,10854.317,-21652.167,-11505.697,-322081.716,337337.846,389668.244,-259735.84,-358347.849,174288.896,-1875.151,4440.882,3085.791,-5362.733,-3239.44,12474.291,-83306.959,87828.342,101737.843,-67439.289,-93234.068,45100.863,72715.204,-292.676,426.416,472.552,-558.825,-483.145,1726.751,335.253,-11093.287,11982.555,14010.963,-9128.717,-12775.28,6110.479,9766.003,-2455.867,-1019553.433,-369951.205,-2097171.328,-1578915.628,10155.661,-427707.836,1618009.315,-2038841.967,-1531765.632,320338.386,8052.38,-339580.119,1201062.154,1147528.18,-1448797.291,-1084458.541,-11947.644,185661.536,4682.608,-196888.356,-526513.27,638762.708,609172.926,-771476.935,-574116.565,-53998.232,-5111.362,77424.628,1950.348,-82137.263,-174310.856,-202560.073,247873.4,235672.292,-300013.613,-221052.457,692.431,-14809.635,-1470.356,21425.408,545.714,-22731.367,47268.805,-45251.204,-51935.111,64506.858,60957.698,-78320.969,-56835.56,1333.547,106.288,-2083.493,-235.438,3074.678,81.225,-3240.447,2341.895,6218.428,-6174.399,-6839.211,8799.152,8223.344,-10818.293,-7406.411},//ampI |
02-May-2019 19:43:14 | + }; |
02-May-2019 19:43:14 | + |
02-May-2019 19:43:14 | + ZernikeCalcCoeffs VLA_L0 = { |
02-May-2019 19:43:14 | + 8, // polarization type |
02-May-2019 19:43:14 | + 0, // spw |
02-May-2019 19:43:14 | + 0, // antType |
02-May-2019 19:43:14 | + 1040.0, // freq |
02-May-2019 19:43:14 | + 25.0, // ant diam in metres |
02-May-2019 19:43:14 | + {0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,1,2,3,3,4,4,5,5,5,6,6,6,7,7,7,7,8,8,8,8,9,9,9,9,9,10,10,10,10,10,11,11,11,11,11,11,12,12,12,12,12,12,13,13,13,13,13,13,13,14,14,14,14,14,14,14,15,15,15,15,15,15,15,15,1,2,3,3,4,4,5,5,5,6,6,6,7,7,7,7,8,8,8,8,9,9,9,9,9,10,10,10,10,10,11,11,11,11,11,11,12,12,12,12,12,12,13,13,13,13,13,13,13,14,14,14,14,14,14,14,15,15,15,15,15,15,15,15},//n |
02-May-2019 19:43:14 | + {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,2,1,3,2,4,1,3,5,2,4,6,1,3,5,7,2,4,6,8,1,3,5,7,9,2,4,6,8,10,1,3,5,7,9,11,2,4,6,8,10,12,1,3,5,7,9,11,13,2,4,6,8,10,12,14,1,3,5,7,9,11,13,15,-1,-2,-3,-1,-4,-2,-5,-3,-1,-6,-4,-2,-7,-5,-3,-1,-8,-6,-4,-2,-9,-7,-5,-3,-1,-10,-8,-6,-4,-2,-11,-9,-7,-5,-3,-1,-12,-10,-8,-6,-4,-2,-13,-11,-9,-7,-5,-3,-1,-14,-12,-10,-8,-6,-4,-2,-15,-13,-11,-9,-7,-5,-3,-1},//m |
02-May-2019 19:43:14 | + {-19419.913,1.0,46328.781,1.0,34797.757,1.0,4163.47,1.0,-16036.975,1.0,-21116.387,1.0,-12559.134,1.0,-3985.803,1.0,-18624.193,199242.964,-27571.411,280405.299,231536.926,-2113019.797,-24241.83,269098.624,309593.234,185554.06,-1646682.891,-244865.58,-13952.695,187259.647,215870.138,-392844.502,109175.798,-925826.028,-142792.295,1834354.612,-4817.077,96434.372,111552.148,-206528.742,-214025.518,46494.578,-368184.24,-60097.222,752203.608,84102.054,-44.041,35552.275,41375.121,-78718.585,-81598.428,108314.462,13407.544,-92540.244,-16910.092,202371.782,23873.018,-318632.17,893.479,8372.708,9873.427,-19892.392,-20625.431,27876.137,31389.798,2092.884,-10468.101,-2462.812,26755.786,3632.417,-45876.683,-2343.89,460.411,860.724,1068.157,-2521.585,-2604.398,3734.975,4250.095,-3425.887,-127728.854,-412805.795,-453712.874,-196433.87,228665.74,-478273.878,412014.331,-438320.177,-187816.77,443085.079,183254.063,-381040.055,451719.92,289149.207,-308356.031,-129679.256,-105931.911,258639.215,107921.143,-222055.6,-232446.169,238436.664,150971.955,-161618.556,-66045.872,-98757.426,-45563.12,109010.635,46127.205,-93303.83,-111021.88,-89002.946,91452.842,56934.825,-61316.309,-23700.468,-3239.435,-27848.179,-13242.273,30685.204,13317.387,-26119.676,32041.108,-28647.903,-22647.921,23346.959,14040.603,-15287.707,-5251.902,2410.998,-488.609,-4158.354,-2169.255,4546.18,2128.013,-3774.272,3349.355,4354.307,-3860.908,-2911.556,3037.724,1673.308,-1882.624,-381.384},//ampR |
02-May-2019 19:43:14 | + {33407.458,1.0,-83962.438,1.0,-97514.193,1.0,-77801.031,1.0,-45764.598,1.0,-19512.646,1.0,-5512.008,1.0,-964.502,1.0,-852157.587,-5882.282,-1320092.691,1441090.596,-7006.421,-14001.233,-1280914.086,1400205.357,1591241.254,-5801.414,-13659.67,1987.725,-907476.266,994122.101,1129912.742,-720779.68,-3611.964,-10253.34,1122.496,-7101.958,-480847.159,528689.822,600971.625,-382790.171,-596277.412,-1642.883,-5728.432,446.247,-1557.104,217.875,-185441.017,205196.589,233186.452,-148240.898,-230630.671,85371.99,-522.175,-2286.341,118.227,226.159,58.79,8585.256,-47782.06,53405.222,60615.598,-38431.213,-59659.519,21995.585,53190.269,-101.064,-537.374,19.185,247.666,9.984,1168.077,99.122,-6305.635,7335.256,8287.961,-5212.101,-8057.134,2959.085,7110.635,-189.396,-1067048.973,-304748.738,-2155601.72,-1652489.934,-38777.711,-352392.848,1791222.658,-2096116.843,-1603433.0,253159.614,-30986.206,-279900.219,1174976.795,1271395.568,-1490024.625,-1135393.451,26870.284,146674.466,-18134.827,-162392.89,-606090.321,625241.748,675755.429,-793861.799,-601204.216,-39828.274,11388.63,61138.262,-7686.65,-67809.31,-153582.236,-233820.787,242839.033,261903.119,-308983.662,-231604.013,-1774.952,-10853.909,3238.99,16907.676,-2182.659,-18811.648,54713.009,-39816.456,-60219.64,63283.617,67956.637,-80776.37,-59588.28,1060.408,-264.451,-1503.493,492.566,2427.112,-326.611,-2698.774,1711.725,7258.298,-5413.729,-8027.113,8664.237,9226.502,-11196.383,-7761.82},//ampI |
02-May-2019 19:43:14 | + }; |
02-May-2019 19:43:14 | + |
02-May-2019 19:43:14 | + ZernikeCalcCoeffs MeerKAT_X0 = { |
02-May-2019 19:43:14 | + 9, // polarization type |
02-May-2019 19:43:14 | + 0, // spw |
02-May-2019 19:43:14 | + 0, // antType |
02-May-2019 19:43:14 | + 1040.0, // freq |
02-May-2019 19:43:14 | + 13.5, // ant diam in metres |
02-May-2019 19:43:14 | + {0,2,4,6,8,10,1,2,3,3,4,4,5,5,5,6,6,6,7,7,7,7,8,8,8,8,9,9,9,9,9,10,10,10,10,10,1,2,3,3,4,4,5,5,5,6,6,6,7,7,7,7,8,8,8,8,9,9,9,9,9,10,10,10,10,10},//n |
02-May-2019 19:43:14 | + {0,0,0,0,0,0,1,2,1,3,2,4,1,3,5,2,4,6,1,3,5,7,2,4,6,8,1,3,5,7,9,2,4,6,8,10,-1,-2,-3,-1,-4,-2,-5,-3,-1,-6,-4,-2,-7,-5,-3,-1,-8,-6,-4,-2,-9,-7,-5,-3,-1,-10,-8,-6,-4,-2},//m |
02-May-2019 19:43:14 | + {38.169,-75.784,-100.558,-73.727,-33.132,-7.409,-278.996,-29.301,-382.136,55.454,-35.351,-374.224,-291.113,48.315,-39.873,-26.987,-239.986,198.9,-132.401,26.26,-17.655,-29.698,-12.8,-95.423,76.81,-16.888,-29.119,7.144,-3.865,-6.1,-20.722,-3.633,-18.702,14.489,-2.947,-1.183,-88.09,-157.606,65.583,-118.109,-42.431,-153.118,-66.991,48.185,-88.097,-9.691,-26.954,-89.29,-2.926,-30.122,21.237,-39.089,-7.046,-5.334,-10.904,-30.35,-0.277,-0.526,-6.742,4.579,-8.146,-0.659,-1.388,-1.57,-2.314,-4.513},//ampR |
02-May-2019 19:43:14 | + {121.188,-280.662,-271.256,-158.553,-52.989,-7.139,-199.483,78.384,-257.766,221.039,80.212,-30.728,-176.966,158.091,132.004,52.043,-13.366,70.616,-67.163,65.756,57.561,-36.735,21.577,-1.78,24.03,-50.967,-10.245,12.97,12.16,-6.983,-2.889,5.203,0.477,3.399,-8.771,-12.423,-60.001,82.234,2.346,-80.536,-9.319,84.902,-8.946,0.488,-58.114,-19.138,-5.958,54.804,-4.147,-2.844,-0.81,-25.207,21.319,-7.231,-2.205,22.068,-0.938,-1.133,-0.237,-0.543,-5.196,-5.678,4.154,-1.38,-0.272,4.43},//ampI |
02-May-2019 19:43:14 | + }; |
02-May-2019 19:43:14 | + |
02-May-2019 19:43:14 | + |
02-May-2019 19:43:14 | + ZernikeCalcCoeffs MeerKAT_Y0 = { |
02-May-2019 19:43:14 | + 12, // polarization type |
02-May-2019 19:43:14 | + 0, // spw |
02-May-2019 19:43:14 | + 0, // antType |
02-May-2019 19:43:14 | + 1040.0, // freq |
02-May-2019 19:43:14 | + 13.5, // ant diam in metres |
02-May-2019 19:43:14 | + {0,2,4,6,8,10,1,2,3,3,4,4,5,5,5,6,6,6,7,7,7,7,8,8,8,8,9,9,9,9,9,10,10,10,10,10,1,2,3,3,4,4,5,5,5,6,6,6,7,7,7,7,8,8,8,8,9,9,9,9,9,10,10,10,10,10},//n |
02-May-2019 19:43:14 | + {0,0,0,0,0,0,1,2,1,3,2,4,1,3,5,2,4,6,1,3,5,7,2,4,6,8,1,3,5,7,9,2,4,6,8,10,-1,-2,-3,-1,-4,-2,-5,-3,-1,-6,-4,-2,-7,-5,-3,-1,-8,-6,-4,-2,-9,-7,-5,-3,-1,-10,-8,-6,-4,-2},//m |
02-May-2019 19:43:14 | + {64.57,-137.479,-161.763,-110.863,-46.69,-9.555,-200.739,183.585,-276.985,32.241,182.964,-349.462,-211.98,30.761,-14.212,113.431,-227.098,132.064,-96.456,18.22,-4.053,-24.854,43.852,-91.631,48.745,-42.117,-20.925,5.403,-0.053,-4.807,-12.137,8.973,-18.096,8.589,-8.318,-0.089,-12.192,-129.501,-0.522,-16.65,-38.633,-129.611,-33.091,-2.185,-12.474,13.501,-24.297,-79.976,-12.138,-13.571,-2.445,-5.436,-11.891,3.964,-9.44,-30.306,2.18,-2.832,-2.599,-1.139,-1.127,-5.003,-2.5,0.369,-1.814,-5.774},//ampR |
02-May-2019 19:43:14 | + {145.334,-336.6,-325.886,-190.566,-63.692,-8.48,-232.652,-353.512,-303.731,247.604,-360.915,-79.526,-214.619,175.604,125.28,-231.22,-42.139,-114.952,-86.01,71.68,53.826,-11.241,-92.68,-11.571,-45.341,-54.971,-15.259,13.368,10.983,-0.942,4.329,-19.038,-0.776,-9.05,-9.421,-7.917,-26.885,155.86,19.249,-36.008,-17.841,157.794,-26.212,14.326,-26.811,17.038,-12.582,99.112,13.841,-10.549,6.302,-11.862,39.099,5.706,-5.687,38.4,-0.31,2.84,-1.834,1.378,-2.541,-3.568,7.476,0.87,-1.196,7.252},//ampI |
02-May-2019 19:43:14 | + }; |
02-May-2019 19:43:14 | + |
02-May-2019 19:43:14 | +}; |
02-May-2019 19:43:14 | diff --git a/code/synthesis/TransformMachines2/AWProjectFT.cc b/code/synthesis/TransformMachines2/AWProjectFT.cc |
02-May-2019 19:43:14 | index 4f2228c..ef9c575 100644 |
02-May-2019 19:43:14 | --- a/code/synthesis/TransformMachines2/AWProjectFT.cc |
02-May-2019 19:43:14 | +++ b/code/synthesis/TransformMachines2/AWProjectFT.cc |
02-May-2019 19:43:14 | @@ -118,7 +118,7 @@ namespace casa { //# NAMESPACE CASA - BEGIN |
02-May-2019 19:43:14 | |
02-May-2019 19:43:14 | // ROMSObservationColumns msoc(ms.observation()); |
02-May-2019 19:43:14 | // String ObsName=msoc.telescopeName()(0); |
02-May-2019 19:43:14 | - if ((telescopeName == "EVLA") || (telescopeName == "VLA")) |
02-May-2019 19:43:14 | + if ((telescopeName == "EVLA") || (telescopeName == "VLA") || (telescopeName == "MeerKAT")) |
02-May-2019 19:43:14 | return new EVLAAperture(); |
02-May-2019 19:43:14 | else |
02-May-2019 19:43:14 | { |
02-May-2019 19:43:14 | diff --git a/code/synthesis/TransformMachines2/EVLAAperture.cc b/code/synthesis/TransformMachines2/EVLAAperture.cc |
02-May-2019 19:43:14 | index e35d8a6..08e51b4 100644 |
02-May-2019 19:43:14 | --- a/code/synthesis/TransformMachines2/EVLAAperture.cc |
02-May-2019 19:43:14 | +++ b/code/synthesis/TransformMachines2/EVLAAperture.cc |
02-May-2019 19:43:14 | @@ -90,6 +90,11 @@ namespace casa{ |
02-May-2019 19:43:14 | else if ((refFreq >=26.5E9) && (refFreq <=40.8E9)) return BeamCalc_EVLA_A; |
02-May-2019 19:43:14 | else if ((refFreq >=40.0E9) && (refFreq <=50.0E9)) return BeamCalc_EVLA_Q; |
02-May-2019 19:43:14 | } |
02-May-2019 19:43:14 | + else |
02-May-2019 19:43:14 | + if (telescopeName == "MeerKAT") |
02-May-2019 19:43:14 | + { |
02-May-2019 19:43:14 | + if ((refFreq >= 0.9E9) && (refFreq <= 2.1E9)) return BeamCalc_EVLA_L; |
02-May-2019 19:43:14 | + } |
02-May-2019 19:43:14 | ostringstream mesg; |
02-May-2019 19:43:14 | log_l << telescopeName << "/" << refFreq << "(Hz) combination not recognized." << LogIO::EXCEPTION; |
02-May-2019 19:43:14 | return -1; |
02-May-2019 19:43:14 | @@ -108,7 +113,7 @@ namespace casa{ |
02-May-2019 19:43:14 | .observation().telescopeName().getColumn(); |
02-May-2019 19:43:14 | for(uInt nt=0;nt<telescopeNames.nelements();nt++) |
02-May-2019 19:43:14 | { |
02-May-2019 19:43:14 | - if ((telescopeNames(nt) != "VLA") && (telescopeNames(nt) != "EVLA")) |
02-May-2019 19:43:14 | + if ((telescopeNames(nt) != "VLA") && (telescopeNames(nt) != "EVLA") && (telescopeNames(nt) != "MeerKAT")) |
02-May-2019 19:43:14 | { |
02-May-2019 19:43:14 | String mesg="We can handle only (E)VLA antennas for now.\n"; |
02-May-2019 19:43:14 | mesg += "Erroneous telescope name = " + telescopeNames(nt) + "."; |
02-May-2019 19:43:14 | diff --git a/code/synthesis/TransformMachines2/VLACalcIlluminationConvFunc.cc b/code/synthesis/TransformMachines2/VLACalcIlluminationConvFunc.cc |
02-May-2019 19:43:14 | index 23dfe4c..e221b08 100644 |
02-May-2019 19:43:14 | --- a/code/synthesis/TransformMachines2/VLACalcIlluminationConvFunc.cc |
02-May-2019 19:43:14 | +++ b/code/synthesis/TransformMachines2/VLACalcIlluminationConvFunc.cc |
02-May-2019 19:43:14 | @@ -261,20 +261,15 @@ namespace casa{ |
02-May-2019 19:43:14 | //-------------------------------------------------------------------------- |
02-May-2019 19:43:14 | // |
02-May-2019 19:43:14 | void VLACalcIlluminationConvFunc::regridApertureEngine(ApertureCalcParams& ap, |
02-May-2019 19:43:14 | - const Int& /*inStokes*/) |
02-May-2019 19:43:14 | + const Int& inStokes) |
02-May-2019 19:43:14 | { |
02-May-2019 19:43:14 | IPosition apertureShape(ap.aperture->shape()); |
02-May-2019 19:43:14 | apertureShape(0) = ap.nx; apertureShape(1) = ap.ny; |
02-May-2019 19:43:14 | ap.aperture->resize(apertureShape); |
02-May-2019 19:43:14 | ap.aperture->set(0.0); |
02-May-2019 19:43:14 | - //BeamCalc::Instance()->calculateAperture(&ap,inStokes); |
02-May-2019 19:43:14 | - //cerr << ap.aperture->shape() << " " << inStokes << endl; |
02-May-2019 19:43:14 | |
02-May-2019 19:43:14 | - // If full-pol. imaging, compute all 4 pols., else only the one given by inStokes. |
02-May-2019 19:43:14 | - BeamCalc::Instance()->calculateAperture(&ap);// The call in the absence of instokes allows the computation of all |
02-May-2019 19:43:14 | - //BeamCalc::Instance()->calculateAperture(&ap,inStokes);// The call in the absence of instokes allows the computation of all |
02-May-2019 19:43:14 | - // the four jones parameters at one time. |
02-May-2019 19:43:14 | -} |
02-May-2019 19:43:14 | + ZernikeCalc::Instance()->buildApertureZ(&ap, inStokes); |
02-May-2019 19:43:14 | + } |
02-May-2019 19:43:14 | // |
02-May-2019 19:43:14 | //-------------------------------------------------------------------------- |
02-May-2019 19:43:14 | // |
02-May-2019 19:43:14 | @@ -399,21 +394,22 @@ namespace casa{ |
02-May-2019 19:43:14 | uvCoords.replaceCoordinate(spectralCoord,index); |
02-May-2019 19:43:14 | //logIO << "The Stokes coordinate is", poln(0)<< LogIO::POST; |
02-May-2019 19:43:14 | ap.aperture->setCoordinateInfo(uvCoords); |
02-May-2019 19:43:14 | - if (doSquint==true) |
02-May-2019 19:43:14 | - { |
02-May-2019 19:43:14 | + // if (doSquint==true) |
02-May-2019 19:43:14 | + //{ |
02-May-2019 19:43:14 | // String name("aperture.im"); |
02-May-2019 19:43:14 | // storeImg(name,*(ap.aperture)); |
02-May-2019 19:43:14 | - } |
02-May-2019 19:43:14 | + //} |
02-May-2019 19:43:14 | |
02-May-2019 19:43:14 | // |
02-May-2019 19:43:14 | // Now FT the re-gridded Fourier plane to get the primary beam. |
02-May-2019 19:43:14 | // |
02-May-2019 19:43:14 | - ftAperture(*(ap.aperture),muellerTerm); |
02-May-2019 19:43:14 | - if (doSquint==true) |
02-May-2019 19:43:14 | - { |
02-May-2019 19:43:14 | + ftAperture(*(ap.aperture),muellerTerm); // Do not comment this line out kills mueller production |
02-May-2019 19:43:14 | + |
02-May-2019 19:43:14 | + // if (doSquint==true) |
02-May-2019 19:43:14 | + //{ |
02-May-2019 19:43:14 | // String name("ftaperture.im"); |
02-May-2019 19:43:14 | // storeImg(name,*(ap.aperture)); |
02-May-2019 19:43:14 | - } |
02-May-2019 19:43:14 | + //} |
02-May-2019 19:43:14 | |
02-May-2019 19:43:14 | } |
02-May-2019 19:43:14 | void VLACalcIlluminationConvFunc::regridAperture(CoordinateSystem& skyCS, |
02-May-2019 19:43:14 | @@ -705,10 +701,10 @@ namespace casa{ |
02-May-2019 19:43:14 | // |
02-May-2019 19:43:14 | // Make SkyJones |
02-May-2019 19:43:14 | // |
02-May-2019 19:43:14 | - // { |
02-May-2019 19:43:14 | - //String name("uvgrid.im"); |
02-May-2019 19:43:14 | - //storeImg(name,uvgrid); |
02-May-2019 19:43:14 | - // } |
02-May-2019 19:43:14 | + //{ |
02-May-2019 19:43:14 | + // String name("uvgrid.im"); |
02-May-2019 19:43:14 | + // storeImg(name,uvgrid); |
02-May-2019 19:43:14 | + //} |
02-May-2019 19:43:14 | LatticeFFT::cfft2d(uvgrid); |
02-May-2019 19:43:14 | // { |
02-May-2019 19:43:14 | // Int index = uvgrid.coordinates().findCoordinate(Coordinate::STOKES); |
02-May-2019 19:43:14 | @@ -719,10 +715,10 @@ namespace casa{ |
02-May-2019 19:43:14 | //tt << name << "_"<< inStokes; |
02-May-2019 19:43:14 | //storeImg(String(tt),uvgrid); |
02-May-2019 19:43:14 | // } |
02-May-2019 19:43:14 | - // { |
02-May-2019 19:43:14 | - //String name("ftuvgrid.im"); |
02-May-2019 19:43:14 | - //storeImg(name,uvgrid); |
02-May-2019 19:43:14 | - // } |
02-May-2019 19:43:14 | + //{ |
02-May-2019 19:43:14 | + // String name("ftuvgrid.im"); |
02-May-2019 19:43:14 | + // storeImg(name,uvgrid); |
02-May-2019 19:43:14 | + //} |
02-May-2019 19:43:14 | |
02-May-2019 19:43:14 | // Now make SkyMuller |
02-May-2019 19:43:14 | // |
02-May-2019 19:43:14 | @@ -798,7 +794,7 @@ namespace casa{ |
02-May-2019 19:43:14 | // } |
02-May-2019 19:43:14 | //{ |
02-May-2019 19:43:14 | //skyJones.put(buf); |
02-May-2019 19:43:14 | - // ostringstream tt; |
02-May-2019 19:43:14 | + //ostringstream tt; |
02-May-2019 19:43:14 | //String name("skyjones.im"); |
02-May-2019 19:43:14 | //tt << name << "_" << inStokes; |
02-May-2019 19:43:14 | //storeImg(tt.string(),skyJones); |
02-May-2019 19:43:14 | @@ -853,12 +849,12 @@ namespace casa{ |
02-May-2019 19:43:14 | IPosition t(4,0,0,0,0),n0(4,0,0,0,0),n1(4,0,0,0,0); |
02-May-2019 19:43:14 | |
02-May-2019 19:43:14 | skyJones.put(buf); |
02-May-2019 19:43:14 | -// ostringstream tt; |
02-May-2019 19:43:14 | -// String name("skyjones.im"); |
02-May-2019 19:43:14 | -// tt << name << "_"<< inStokes; |
02-May-2019 19:43:14 | -// storeImg(String(tt),skyJones); |
02-May-2019 19:43:14 | -// skyJones.put(buf); |
02-May-2019 19:43:14 | -// cout<<"Finished writing the initial sky jones \n"; |
02-May-2019 19:43:14 | +// ostringstream tt; |
02-May-2019 19:43:14 | +// String name("skyjones.im"); |
02-May-2019 19:43:14 | +// tt << name << "_"<< inStokes; |
02-May-2019 19:43:14 | +// storeImg(String(tt),skyJones); |
02-May-2019 19:43:14 | +// // skyJones.put(buf); |
02-May-2019 19:43:14 | +// cout<<"Finished writing the initial sky jones \n"; |
02-May-2019 19:43:14 | // exit(0); |
02-May-2019 19:43:14 | // skyMuller(buf,shape, inStokes); |
02-May-2019 19:43:14 | |
02-May-2019 19:43:14 | @@ -888,16 +884,16 @@ namespace casa{ |
02-May-2019 19:43:14 | tmp(t)=conj(tmp(t)/sqrt(Normalizesq)); |
02-May-2019 19:43:14 | |
02-May-2019 19:43:14 | // cout<<"The Jones Matrix has been normalized using:"<< sqrt(Normalizesq)<<"\n"; |
02-May-2019 19:43:14 | - skyJones.put(tmp); |
02-May-2019 19:43:14 | + // skyJones.put(tmp); |
02-May-2019 19:43:14 | // ostringstream tt1; |
02-May-2019 19:43:14 | // String name1("skyjones_normalized_conj.im"); |
02-May-2019 19:43:14 | // tt1 << name1 << "_"<< inStokes; |
02-May-2019 19:43:14 | // storeImg(String(tt1),skyJones); |
02-May-2019 19:43:14 | - // // exit(0); |
02-May-2019 19:43:14 | - // // skyJones.put(tmp); |
02-May-2019 19:43:14 | + // exit(0); |
02-May-2019 19:43:14 | + // skyJones.put(tmp); |
02-May-2019 19:43:14 | // cout<<"Finished writing the normalized conjugate sky jones \n"; |
02-May-2019 19:43:14 | |
02-May-2019 19:43:14 | -// cout<<"Begining the compute of Mueller Matrix term images \n"; |
02-May-2019 19:43:14 | + // cout<<"Begining the compute of Mueller Matrix term images \n"; |
02-May-2019 19:43:14 | |
02-May-2019 19:43:14 | IPosition sliceStart0(4,0,0,0,0),sliceStart1(4,0,0,0,1),sliceLength0(4,shape(0),shape(1),1,1),sliceLength1(4,shape(0),shape(1),1,1); |
02-May-2019 19:43:14 | IPosition sliceStart2(4,0,0,0,2),sliceStart3(4,0,0,0,3),sliceLength2(4,shape(0),shape(1),1,1),sliceLength3(4,shape(0),shape(1),1,1); |
02-May-2019 19:43:14 | diff --git a/code/synthesis/TransformMachines2/VLACalcIlluminationConvFunc.h b/code/synthesis/TransformMachines2/VLACalcIlluminationConvFunc.h |
02-May-2019 19:43:14 | index 3504e40..db23208 100644 |
02-May-2019 19:43:14 | --- a/code/synthesis/TransformMachines2/VLACalcIlluminationConvFunc.h |
02-May-2019 19:43:14 | +++ b/code/synthesis/TransformMachines2/VLACalcIlluminationConvFunc.h |
02-May-2019 19:43:14 | @@ -31,7 +31,8 @@ |
02-May-2019 19:43:14 | |
02-May-2019 19:43:14 | #include <synthesis/TransformMachines2/IlluminationConvFunc.h> |
02-May-2019 19:43:14 | //#include <synthesis/MeasurementComponents/BeamCalcConstants.h> |
02-May-2019 19:43:14 | -#include <synthesis/TransformMachines/BeamCalc.h> |
02-May-2019 19:43:14 | +//#include <synthesis/TransformMachines/BeamCalc.h> |
02-May-2019 19:43:14 | +#include <synthesis/TransformMachines/ZernikeCalc.h> |
02-May-2019 19:43:14 | //#include <synthesis/MeasurementComponents/BeamCalcAntenna.h> |
02-May-2019 19:43:14 | #include <synthesis/MeasurementComponents/CExp.new3.h> |
02-May-2019 19:43:14 | #include <synthesis/MeasurementComponents/ExpCache.h> |
02-May-2019 19:43:14 | |
02-May-2019 19:43:14 | Comparison returned: 1 |
02-May-2019 19:43:14 | Checkout: git checkout ARD-20 |
02-May-2019 19:43:14 | Already on 'ARD-20' |
02-May-2019 19:43:14 | |
02-May-2019 19:43:14 | [git, tag, -a, 5.5.0-132-test-ARD-20-2, -m 'Automatic tag'] |
02-May-2019 19:43:14 | |
02-May-2019 19:43:14 | Done tagging 5.5.0-132-test-ARD-20-2 |
02-May-2019 19:43:14 | Pushing 5.5.0-132-test-ARD-20-2 to origin |
02-May-2019 19:43:14 | To ssh://git@open-bitbucket.nrao.edu:7999/casa/casa.git |
02-May-2019 19:43:14 | * [new tag] 5.5.0-132-test-ARD-20-2 -> 5.5.0-132-test-ARD-20-2 |
02-May-2019 19:43:14 | |
02-May-2019 19:43:14 | Pushed 5.5.0-132-test-ARD-20-2 to origin |
02-May-2019 19:43:14 | |
02-May-2019 19:43:14 | BUILD SUCCESSFUL |
02-May-2019 19:43:14 | |
02-May-2019 19:43:14 | Total time: 5.989 secs |
02-May-2019 19:43:15 | Finished task 'Script' with result: Success |
02-May-2019 19:43:15 | Running post build plugin 'Docker Container Cleanup' |
02-May-2019 19:43:15 | Running post build plugin 'NCover Results Collector' |
02-May-2019 19:43:15 | Running post build plugin 'Clover Results Collector' |
02-May-2019 19:43:15 | Running post build plugin 'npm Cache Cleanup' |
02-May-2019 19:43:15 | Running post build plugin 'Artifact Copier' |
02-May-2019 19:43:15 | Finalising the build... |
02-May-2019 19:43:15 | Stopping timer. |
02-May-2019 19:43:15 | Build ARD-BPT16-TBFP-2 completed. |
02-May-2019 19:43:15 | Running on server: post build plugin 'NCover Results Collector' |
02-May-2019 19:43:15 | Running on server: post build plugin 'Build Hanging Detection Configuration' |
02-May-2019 19:43:15 | Running on server: post build plugin 'Clover Delta Calculator' |
02-May-2019 19:43:15 | Running on server: post build plugin 'Maven Dependencies Postprocessor' |
02-May-2019 19:43:15 | All post build plugins have finished |
02-May-2019 19:43:15 | Generating build results summary... |
02-May-2019 19:43:15 | Saving build results to disk... |
02-May-2019 19:43:15 | Logging substituted variables... |
02-May-2019 19:43:15 | Indexing build results... |
02-May-2019 19:43:15 | Finished building ARD-BPT16-TBFP-2. |