Skip to content

Commit

Permalink
Firefly-1033, 1035: Merge pull request #1246 from Caltech-IPAC/FIREFL…
Browse files Browse the repository at this point in the history
…Y-1033-FIREFLY-1035

Firefly-1033, 1035
  • Loading branch information
robyww authored Jul 28, 2022
2 parents 67cfdbe + 15ac3b5 commit 01a85f2
Show file tree
Hide file tree
Showing 7 changed files with 61 additions and 39 deletions.
15 changes: 14 additions & 1 deletion docs/release-notes.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,8 +8,10 @@


## Version 2022.2
- 2022.2.1 (April 2022)
- docker tag: `latest`, `2022.2`, `2022.2.1`
- 2022.2 - (July 2022)
- docker tag: `latest`, `2022.2`, `2022.2.0`
- docker tag: `2022.2.0`

### _Notes_
#### This release has notable UI, Infrastructure, and API enhancements
Expand All @@ -34,6 +36,16 @@
- Fixed: WAVE_TAB: The algorithm is producing incorrect results [Firefly-989](https://github.com/Caltech-IPAC/firefly/pull/1224)
- Multiple table related bugs


##### _Patches 2022.2_
- 2022.2.1
- Added IPAC Logo to version dialog([Firefly-1037](https://github.com/Caltech-IPAC/firefly/pull/1225))
- Stretch dropdown shows checkbox if stretch selected ([Firefly-1029](https://github.com/Caltech-IPAC/firefly/pull/1225))
- Fixed: TAP column table showing filters ([PR](https://github.com/Caltech-IPAC/firefly/pull/1244))
- Fixed: Cube planes all change stretch ([Firefly-1038](https://github.com/Caltech-IPAC/firefly/pull/1225))



##### _Pull Requests in this release_
- [All Bug Fixes](https://github.com/caltech-ipac/firefly/pulls?q=is%3apr+milestone%3a2022.2+label%3abug)
- [All PRs](https://github.com/caltech-ipac/firefly/pulls?q=is%3apr++milestone%3a2022.2+)
Expand Down Expand Up @@ -77,6 +89,7 @@
##### _Patches 2022.1_
- 2022.1.1
- Fixed: Not packaging proprietary data correctly ([IRSA-4570,IRSA-4571](https://github.com/Caltech-IPAC/firefly/pull/1209))



## Version 2021.4 (December 2021)
Expand Down
2 changes: 1 addition & 1 deletion src/firefly/js/metaConvert/ImageDataProductsUtil.js
Original file line number Diff line number Diff line change
Expand Up @@ -237,7 +237,7 @@ function replotImageDataProducts(activePlotId, imageViewerId, tbl_id, reqAry, th
dispatchPlotImage(
{
plotId:threeCPlotId, viewerId:imageViewerId, wpRequest:plotThreeReqAry, threeColor:true,
pvOptions: {userCanDeletePlots: true, menuItemKeys:{imageSelect : false}},
pvOptions: {userCanDeletePlots: false, menuItemKeys:{imageSelect : false}},
attributes: { tbl_id }
});
}
Expand Down
19 changes: 6 additions & 13 deletions src/firefly/js/ui/VersionInfo.jsx
Original file line number Diff line number Diff line change
Expand Up @@ -86,28 +86,21 @@ function VersionInfoFull() {
);
}


const Acknowledgement= () => (
<div style={{padding:'10px 5px 3px 5px', width:600, fontSize:'smaller'}}>
<span>
Firefly development at&nbsp;
</span>
<div style={{padding:'10px 5px 3px 5px', width:520, fontSize:'85%', lineHeight:1.3}}>
Firefly development by&nbsp;
<a href='https://ipac.caltech.edu' target='ipac-window'>IPAC</a>
<span>
&nbsp;at&nbsp;
<a href='https://www.caltech.edu' target='caltech-window'>Caltech</a>
&nbsp;has been supported by NASA, principally through&nbsp;
</span>
<a href='https://irsa.ipac.caltech.edu' target='ipac-window'>IRSA</a>
<span>
, and by the National Science Foundation, through the&nbsp;
</span>
<a href='https://www.lsst.org/' target='rubin-window'>Vera C. Rubin Observatory</a>
<span>
. Firefly is open-source software, available on&nbsp;
</span>
<a href='https://github.com/Caltech-IPAC/firefly' target='github-window'>GitHub</a>
<span> and </span>
&nbsp;and&nbsp;
<a href='https://hub.docker.com/repository/docker/ipac/firefly' target='dockerhub-window'>DockerHub</a>
<span>.</span>
.
</div>

);
Expand Down
2 changes: 1 addition & 1 deletion src/firefly/js/visualize/WebPlot.js
Original file line number Diff line number Diff line change
Expand Up @@ -614,7 +614,7 @@ function getInitZoomLevel(viewDim, req, dataWidth, dataHeight, pixelScaleDeg) {
case ZoomType.TO_WIDTH:
return width / dataWidth;
case ZoomType.ARCSEC_PER_SCREEN_PIX:
return pixelScaleDeg / req.getZoomArcsecPerScreenPix();
return pixelScaleDeg / req.getZoomArcsecPerScreenPix()*3600;
case ZoomType.LEVEL:
case ZoomType.STANDARD:
default:
Expand Down
1 change: 1 addition & 0 deletions src/firefly/js/visualize/rawData/RawDataOps.js
Original file line number Diff line number Diff line change
Expand Up @@ -212,6 +212,7 @@ function clearLocalStretchData(plot) {
}

function isNoisyImage(plot) {
if (isNaN(plot?.webFitsData?.[Band.NO_BAND.value]?.largeBinPercent)) return false;
return (!isThreeColor(plot) && plot.webFitsData[Band.NO_BAND.value].largeBinPercent>.03);
}

Expand Down
56 changes: 36 additions & 20 deletions src/firefly/js/visualize/ui/ColorBandChooserPopup.jsx
Original file line number Diff line number Diff line change
Expand Up @@ -11,9 +11,9 @@ import {InputGroup} from '../../ui/InputGroup.jsx';
import {ListBoxInputField} from '../../ui/ListBoxInputField.jsx';
import DialogRootContainer from '../../ui/DialogRootContainer.jsx';
import {PopupPanel} from '../../ui/PopupPanel.jsx';
import {showInfoPopup} from '../../ui/PopupUtil.jsx';
import {INFO_POPUP, showInfoPopup} from '../../ui/PopupUtil.jsx';
import {getMultiViewRoot,dispatchUpdateCustom, getViewer} from '../MultiViewCntlr.js';
import {dispatchShowDialog, dispatchHideDialog} from '../../core/ComponentCntlr.js';
import {dispatchShowDialog, dispatchHideDialog, isDialogVisible} from '../../core/ComponentCntlr.js';
import {Band, allBandAry} from '../Band.js';


Expand All @@ -38,35 +38,46 @@ function ColorBandChooserPanel ({viewerId, bandData, dataId}) {
const options= Object.keys(threeOp).map( (k) => ({value:k, label:threeOp[k].title}));
options.push({value:'NONE', label:'Disable'});

var redVal= Object.keys(threeOp).find( (k) => Boolean(threeOp[k].color===Band.RED));
var greenVal= Object.keys(threeOp).find( (k) => Boolean(threeOp[k].color===Band.GREEN));
var blueVal= Object.keys(threeOp).find( (k) => Boolean(threeOp[k].color===Band.BLUE));
const {threeColorVisible}= getViewer(getMultiViewRoot(), viewerId)?.customData[dataId];

let redVal= Object.keys(threeOp).find( (k) => Boolean(threeOp[k].color===Band.RED));
let greenVal= Object.keys(threeOp).find( (k) => Boolean(threeOp[k].color===Band.GREEN));
let blueVal= Object.keys(threeOp).find( (k) => Boolean(threeOp[k].color===Band.BLUE));
if (!redVal) redVal= 'NONE';
if (!greenVal) greenVal= 'NONE';
if (!blueVal) blueVal= 'NONE';

return (
<FieldGroup groupKey={'WHICH_BANDS'} keepState={false}>
<div style={{padding:'10px 10px 5px 15px'}}>
<InputGroup labelWidth={50}>
<ListBoxInputField initialState= {{ value: redVal,
tooltip: 'Select Red band', label : 'Red:' }}
<FieldGroup groupKey={'WHICH_BANDS'} keepState={false} style={{display:'flex', flexDirection:'column', alignItems:'center' }}>
<div style={{padding:'10px 5px 5px 5px'}}>
<div style={{display:'flex', flexDirection:'column', justifyContent:'space-around', height:60}}>
<ListBoxInputField labelWidth={40}
initialState= {{ value: redVal, tooltip: 'Select Red band', label : 'Red:' }}
options={options} fieldKey={Band.RED.key} />

<ListBoxInputField initialState= {{value: greenVal,
tooltip: 'Select Green band', label : 'Green:' }}
<ListBoxInputField labelWidth={40}
initialState= {{value: greenVal, tooltip: 'Select Green band', label : 'Green:' }}
options={options} fieldKey={Band.GREEN.key} />

<ListBoxInputField initialState= {{value: blueVal,
tooltip: 'Select Blue band', label : 'Blue:' }}
<ListBoxInputField labelWidth={40}
initialState= {{value: blueVal, tooltip: 'Select Blue band', label : 'Blue:' }}
options={options} fieldKey={Band.BLUE.key} />
</InputGroup>

</div>
</div>
<div style={{display:'flex', justifyContent:'space-around', margin: '7px 5px 10px 3px' }}>
<CompleteButton
style={{padding : '12px 0 5px 5px'}}
text={`${threeColorVisible?'Update':'Show'} Three Color`}
onSuccess={(request) => update3Color(request,bandData, viewerId, dataId)}
closeOnValid={true}
dialogId='ColorBandChooserPopup' />

{threeColorVisible && <CompleteButton
style={{padding : '12px 0 5px 5px'}} text={'Hide Three Color'}
onSuccess={(request) => hideThreeColor(viewerId, dataId)}
closeOnValid={true} dialogId='ColorBandChooserPopup' />}
</div>
<CompleteButton
style={{padding : '12px 0 5px 5px'}}
onSuccess={(request) => update3Color(request,bandData, viewerId, dataId)}
closeOnValid={false}
dialogId='ColorBandChooserPopup' />

</FieldGroup>
);
Expand Down Expand Up @@ -110,6 +121,11 @@ function validate(request) {
return {valid:true};
}

function hideThreeColor(viewerId, dataId) {
const v= getViewer(getMultiViewRoot(), viewerId);
dispatchUpdateCustom(viewerId,{...v.customData, [dataId]:{...v.customData[dataId], threeColorVisible:false}});
}


function loadThreeColor(request, bandData, viewerId, dataId) {
const v= getViewer(getMultiViewRoot(), viewerId);
Expand Down
5 changes: 2 additions & 3 deletions src/firefly/js/visualize/ui/TriViewImageSection.jsx
Original file line number Diff line number Diff line change
Expand Up @@ -215,7 +215,7 @@ function onActiveTable (layoutInfo, action) {
let {coverageLockedOn, showCoverage, showMeta, metaDataTableId} = images;

const showFits= shouldShowFits();
showImages= showFits||coverageLockedOn;
showImages= showFits;

if (!tbl_id) {
images = {showMeta: false, showCoverage: false, showFits, metaDataTableId: null};
Expand Down Expand Up @@ -243,9 +243,8 @@ function onActiveTable (layoutInfo, action) {
showImages = true;
} else {
showCoverage = false;
showImages= showFits||coverageLockedOn;
showImages= showFits;
}

if (anyHasMeta) {
metaDataTableId = isMetaDataTable(tbl_id) ? tbl_id : findFirstMetaTable(tblList);
showMeta = true;
Expand Down

0 comments on commit 01a85f2

Please sign in to comment.