Skip to content

Commit

Permalink
contours bug fixed
Browse files Browse the repository at this point in the history
  • Loading branch information
tomlebl committed Aug 15, 2024
1 parent b6b3114 commit 2e5acd3
Show file tree
Hide file tree
Showing 5 changed files with 27 additions and 10 deletions.
9 changes: 5 additions & 4 deletions nomad-front-end/src/store/reducers/NMRium.js
Original file line number Diff line number Diff line change
@@ -1,14 +1,15 @@
import { Modal } from 'antd'
import * as actionTypes from '../actions/actionTypes'
import { nmriumDataVersion } from '../../utils/nmriumUtils'

import history from '../../utils/history'

const initialState = {
nmriumState: {
data: { spectra: [] },
version: 7
version: nmriumDataVersion
},
changedData: { data: { spectra: [] }, version: 7 },
changedData: { data: { spectra: [] }, version: nmriumDataVersion },
spinning: false,
adding: false,
showFidsModal: false,
Expand Down Expand Up @@ -72,8 +73,8 @@ const reducer = (state = initialState, { type, payload }) => {
case actionTypes.RESET_NMRIUM_DATA:
return {
...state,
nmriumState: { data: { spectra: [] }, version: 7 },
changedData: { data: { spectra: [] }, version: 7 },
nmriumState: { data: { spectra: [] }, version: nmriumDataVersion },
changedData: { data: { spectra: [] }, version: nmriumDataVersion },
datasetMeta: { id: null }
}

Expand Down
2 changes: 2 additions & 0 deletions nomad-front-end/src/utils/nmriumUtils.js
Original file line number Diff line number Diff line change
Expand Up @@ -11,3 +11,5 @@ export const skimNMRiumdata = input => {
delete output.view
return output
}

export const nmriumDataVersion = 7
6 changes: 3 additions & 3 deletions nomad-rest-api/controllers/data.js
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ import Group from '../models/group.js'
import User from '../models/user.js'
import Instrument from '../models/instrument.js'
import { getIO } from '../socket.js'
import { getNMRiumDataObj } from '../utils/nmriumUtils.js'
import { getNMRiumDataObj, nmriumDataVersion } from '../utils/nmriumUtils.js'
import { getGrantInfo } from '../utils/accountsUtils.js'

export const postData = async (req, res) => {
Expand Down Expand Up @@ -123,7 +123,7 @@ export const getNMRium = async (req, res) => {
const expIds = req.query.exps.split(',')
const { dataType } = req.query

let responseData = { version: 7, data: { spectra: [] } }
let responseData = { version: nmriumDataVersion, data: { spectra: [] } }

try {
await Promise.all(
Expand Down Expand Up @@ -320,7 +320,7 @@ export const getExpsFromDatasets = async (req, res) => {
})
)

const responseData = { version: 7, data: { spectra: newSpectraArray } }
const responseData = { version: nmriumDataVersion, data: { spectra: newSpectraArray } }

const respDataJSON = JSON.stringify(responseData, (k, v) =>
ArrayBuffer.isView(v) ? Array.from(v) : v
Expand Down
13 changes: 11 additions & 2 deletions nomad-rest-api/controllers/datasets.js
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ import Dataset from '../models/dataset.js'
import Experiment from '../models/experiment.js'
import ManualExperiment from '../models/manualExperiment.js'
import Collection from '../models/collection.js'
import { getNMRiumDataObj } from '../utils/nmriumUtils.js'
import { getNMRiumDataObj, nmriumDataVersion } from '../utils/nmriumUtils.js'
import zipDataset from '../utils/zipDataset.js'

export const postDataset = async (req, res) => {
Expand Down Expand Up @@ -79,6 +79,14 @@ export const getDataset = async (req, res) => {

i.data = nmriumDataObj.spectra[0].data
i.meta = nmriumDataObj.spectra[0].meta

//contourOptions stored in DB by older NMRium is not compatible with version 7 data format
// if deleted NMRium generates contours from scratch like for freshly parsed experiments

if (i.display.dimension === 2 && dataset.nmriumData.version < 7) {
delete i.display.contourOptions
}

return Promise.resolve(i)
})
)
Expand All @@ -96,7 +104,8 @@ export const getDataset = async (req, res) => {
nmriumData: dataset.nmriumData
}

respObj.nmriumData.version = 7
//version of NMRium data format has to be in sync with nmr-load-save parser
respObj.nmriumData.version = nmriumDataVersion

const respJSON = JSON.stringify(respObj, (k, v) => (ArrayBuffer.isView(v) ? Array.from(v) : v))
//.json can't be used as we already convert object to json above using custom function
Expand Down
7 changes: 6 additions & 1 deletion nomad-rest-api/utils/nmriumUtils.js
Original file line number Diff line number Diff line change
Expand Up @@ -14,9 +14,11 @@ export const getNMRiumDataObj = async (dataPath, title, fid) => {
const nmriumObj = await read(fileCollection)

//If nmr-load-save is updated you can check version of nmrium object here
// and then update data.js controller and NMRium.js reducer in frontend

//console.log(nmriumObj)

//then update nmriumDataVersion export from this file and also frontend nmriumUtils file

const newSpectraArr = nmriumObj.nmriumState.data.spectra
.filter(i => (fid ? !i.info.isFt : i.info.isFt))
.map(i => {
Expand All @@ -26,6 +28,7 @@ export const getNMRiumDataObj = async (dataPath, title, fid) => {
})

nmriumObj.nmriumState.data.spectra = [...newSpectraArr]

return Promise.resolve(nmriumObj.nmriumState.data)
} catch (error) {
Promise.reject(error)
Expand Down Expand Up @@ -57,3 +60,5 @@ export const validateNMRiumData = input => {
})
)
}

export const nmriumDataVersion = 7

0 comments on commit 2e5acd3

Please sign in to comment.