-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathvel_stacking.R
More file actions
59 lines (58 loc) · 2.5 KB
/
Copy pathvel_stacking.R
File metadata and controls
59 lines (58 loc) · 2.5 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
#This file is part of ChiVO, the Chilean Virtual Observatory
#A project sponsored by FONDEF (D11I1060)
#Copyright (C) 2015 Universidad Tecnica Federico Santa Maria Mauricio Solar
# Marcelo Mendoza
# Universidad de Chile Diego Mardones
# Pontificia Universidad Catolica Karim Pichara
# Universidad de Concepcion Ricardo Contreras
# Universidad de Santiago Victor Parada
#
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License
# as published by the Free Software Foundation; either version 2
# of the License, or (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
#
vel_stacking <- function(Z,slices_min,slices_max) {
dims <- dim(Z)
P_x <- dims[1]
P_y <- dims[2]
h <- array(0.0, dim=c(P_x,P_y))
#only for visualization
for (i in slices_min:slices_max) {
image(Z[,,i],col=topo.colors(256), xlab="Galactic Longitude 20 -20 alpha (arcmin)", ylab="Galactic Latitude -20 20 delta (arcmin)", axes=FALSE)
title(main="PP Slice",sub="Perseus 13CO emission in L1448")
box()
Sys.sleep(1)
dev.off()
print("... slicing ...")
}
#stacking
print("... stacking ...")
for (i in 1:P_x) {
for (j in 1:P_y) {
h[i,j] <- sum(Z[i,j,slices_min:slices_max], na.rm=TRUE)
}
image(h,col=topo.colors(256), xlab="Galactic Longitude 20 -20 alpha (arcmin)", ylab="Galactic Latitude -20 20 delta (arcmin)", axes=FALSE)
title(main="PP Projection",sub="Perseus 13CO emission in L1448")
box()
Sys.sleep(0.5)
dev.off()
}
Sys.sleep(1)
#dev.off()
h <- (h-min(h,na.rm=TRUE))/(max(h,na.rm=TRUE)-min(h,na.rm=TRUE))
image(h,col=topo.colors(256), xlab="Galactic Longitude 20 -20 alpha (arcmin)", ylab="Galactic Latitude -20 20 delta (arcmin)", axes=FALSE)
#barplot(h, xlab="Velocity Range 40 [km s^-1]", axes=FALSE)
title(main="PP Projection",sub="Perseus 13CO emission in L1448")
box()
return(h)
}