I want to create a Habitat Suitability Index (HSI). I have several variables (raster layers containing information about e.g. precipitation, slope, food resources, etc.).

I have to create an "index" for each raster layer. That means that i have to reclassify all layers on a scale from 0 to 1, where 0 is not suitable and 1 is really suitable. This is were I am stuck. I know how to reclassify data in terms of assigning values to specific classes. But for some variables, I have to create a continuous index

I have troubles explaining, since english is not my first language and I'm new to the topic, but I will try:

I need to reclassfy the data continuously, according to my guidelines. For example altitude (image 1):
The plot below shows, how i have to reclassify altitude. in summer, an altitude from 1200 to 1500 meter is perfect, for higher altitues the HSI slowly decreases, but not linear unfortunately.
This is the same for example for the index for the crown projection (second image). I have to reclassify the values on a scale from 1 to 100, but again, it is not linear.

[![index for altitude](https://i.stack.imgur.com/8pEsC.png)](https://i.stack.imgur.com/8pEsC.png)

[![index for Crown projection](https://i.stack.imgur.com/Wfikz.png)](https://i.stack.imgur.com/Wfikz.png)

My first thought was to apply some kind of funtion on the raster, but unfortunately, I could not find the right answer on google, so I'm afraid I'm searching for the wrong keywords.

I am using QGIS (3.16.1 and 3.10.13), I am quite experienced in SAGA, GDAL, Grass and OTB and I have a bit of knowledge in R.